我要从物理计算机上在远程虚拟机上运行可执行文件。可执行文件已在远程虚拟机上。我使用的cmdlet是:
$command = "c:\users\<username>\desktop\Myexecutable.exe"
Invoke-Command -ComputerName Machine98 -ScriptBlock {$command} -Credential <domain_name>\<username>
我匿名了,但是我确定它们是正确的。
在Powershell的命令提示符下,没有错误消息。该提示在cmdlet之后变为可访问,因此它不会挂起。
我确定服务WS-Management正在运行,并且已在远程虚拟机上正确配置,因为此cmdlet可以工作:
enter-pssession -computername Machine98 -credential <domain_name>\<username>
您能帮助我找到解决方案的问题或提出另一种实现目标的方法吗?
非常感谢!
答案 0 :(得分:0)
$Command
在本地计算机中定义,在脚本块中不可用。当您在脚本块中使用变量时,必须将其作为参数传递。
Invoke-Command -Computer Name -ScriptBlock {
Param(
[string]$Command
)
& $Command
} -ArgumentList $Command
因此,在这里,它只是执行一个空的ScriptBlock(因为变量$Command
为null),因此没有错误。