我试图在远程计算机上执行脚本。
我在远程机器上做了"Enable-PSremoting
“。
我在远程机器中放置了一个脚本hello.ps1
。
我的客户端计算机是Windows XP,远程计算机是Windows 2003
然后,在我的客户端计算机上,我尝试执行脚本。
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
我得到了以下错误。
Invoke-Command :找不到路径'C:\hello.ps1‘,因为该路径不存在。
我认为它试图从客户端机器中查找脚本。
如果我试着跑
invoke-command -computer $MachineName -command { C:\hello.ps1 }
,它在客户端执行远程机器上可用的脚本。
但是我想在远程机器本身执行远程脚本。
如何在远程机器上运行可用的脚本?
更新:
实际上,这个命令"invoke-command -computer $MachineName -command { C:\hello.ps1 }
“在远程端工作,并将结果返回给客户端。我误解了它在客户端执行的返回值。
发布于 2012-05-04 17:35:50
当你写的时候:
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
将从客户端计算机获取脚本C:\hello.ps1
,并将其带到服务器执行。因此,您会得到错误文件不存在,因为Invoke-Command正在客户端计算机中查找该文件。
发布于 2017-05-06 06:17:35
我得到了同样的错误,但是我在代码中的一个变量中挂接了一个远程会话,最终得到了一些有用的东西:
$s = New-PSSession -ComputerName "WTxxxxxL32" -Credential $credential
Invoke-Command -Session $s -Command {D:\ServerDLLDev\RemoteCOMInstall.ps1}
有一百万个Invoke-etc解决方案,但最简单的最终对我有效。感谢你。
发布于 2016-01-28 12:27:49
我有完全相同的探针,并结合使用[WMICLASS] 's create()
和Start-Process
解决了它。
查看我的答案here。
https://stackoverflow.com/questions/10444451
复制相似问题