powershell - Power shell Invoke-Command NotSpecified: (目录名无效.:String) [], RemoteException 错误
问题描述
我正在尝试运行以下调用命令,该命令将在远程计算机上使用“remove”参数运行 rabbitmq-service.bat。该命令在删除 rabbmitmq-service 后完美执行,但出现以下错误“目录名称无效。”
$Cre = Get-Credential -Message "Enter credentials for $fo1"
$fo1Session = New-PSSession -ComputerName Dedicated-Test1 -Credential $Cre
$action = "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.10\sbin\rabbitmq-service.bat"
$remove = "remove"
PS C:\WINDOWS\system32> Invoke-Command -Session $fo1Session -ScriptBlock {& $using:action $using:remove -verb runAs}
The directory name is invalid.
+ CategoryInfo : NotSpecified: (The directory name is invalid.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
+ PSComputerName : Dedicated-Test1
The filename, directory name, or volume label syntax is incorrect.
C:\Program Files\erl10.2\erts-10.2\bin\erlsrv: Service RabbitMQ removed from system.
解决方案
您可以在不使用 $using 的情况下使用此代码:
$batch = get-content $action -raw
invoke-command -computername TheRemoteComputer -session $fo1session -scriptblock "& {new-item -path 'C:\Batch.Bat' -type file -value $batch; cmd.exe /c 'C:\Batch.bat $remove'; remove-item 'C:\Batch.bat'}"
将 TheComputerName 替换为远程计算机的名称。
推荐阅读
- python - 在 DEAP 中实施清算程序
- javascript - 如何在常规异常中使用带双引号的变量?
- java - Spring Boot Actuator 自定义 RestControllerEndpoint 与类级别的 RequestMapping 注解
- google-sheets - 如何在 Google 表格中转置这些数据
- xml - 如何在 PowerShell 中从不同的 xml 节点动态读取特定的 XML 属性
- c# - 我们如何在 C# 中为 BenchmarkDotNet 的 [Arguments] 标签传递动态参数?
- android - Webview错误variations_seed(没有这样的文件或目录)
- javascript - How to re-render a full page with tag in react-router-dom
- javascript - 为什么在我的 Rails 应用程序中再次呈现 HTML div(包含数据表)之前无法隐藏它?
- laravel - Laravel - 如何在模型和控制器中验证评分系统