【发布时间】:2012-05-13 17:45:08
【问题描述】:
我试图在远程计算机上执行脚本。
我在远程机器上做了“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 }”在远程工作并将结果返回给客户端。看到它在客户端执行的返回值,我误解了。
【问题讨论】:
-
我爱你。在您的帖子发布 5 年后,经过几天和几天的谷歌搜索和溢出并尝试 Invoke-yadayada 的每个配置,几乎准备放弃,我看到您的“更新:”部分并尝试一下。它给了我同样的错误,但我在你的代码中的一个变量中挂了一个远程会话,最后得到了一些有用的东西: ::::::::: $s = New-PSSession -ComputerName "WTxxxxxL32" -Credential $credential :: ::: Invoke-Command -Session $s -Command {D:\ServerDLLDev\RemoteCOMInstall.ps1}
标签: powershell powershell-2.0 powershell-remoting