[英]How to execute a powershell script available in remote machine?
我试图在远程计算机上执行脚本。
我在远程机器上做了“ Enable-PSremoting
”。
我在远程机器上放置了一个脚本hello.ps1
。
[我的客户端机器是Windows XP,远程计算机是Windows 2003]
然后从我的客户端计算机我试图执行脚本。
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
我收到以下错误。
调用命令:找不到路径“C:\\hello.ps1”,因为它不存在。
我认为它试图从客户端机器上查找脚本。
如果我试着跑
invoke-command -computer $MachineName -command { C:\\hello.ps1 }
,它在客户端执行远程机器上可用的脚本。
但我想在远程机器本身中执行远程脚本。
如何让它运行远程机器上可用的脚本?
更新:
实际上这个命令“ invoke-command -computer $MachineName -command { C:\\hello.ps1 }
”在远程端工作并将结果返回给客户端。 我通过看到它在客户端执行的返回值而误解了。
当你写:
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
脚本C:\\hello.ps1
将从客户端计算机中取出并带到服务器上执行。 所以你得到的错误文件不存在,因为 Invoke-Command 正在客户端计算机中寻找该文件。
我试图在远程计算机上执行脚本。
我在远程计算机上执行了“ Enable-PSremoting
”。
我在远程计算机中放置了一个脚本hello.ps1
。
[我的客户端计算机是Windows XP,远程计算机是Windows 2003]
然后我从客户端计算机尝试执行脚本。
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
我收到以下错误。
调用命令:找不到路径'C:\\ hello.ps1',因为它不存在。
我认为它尝试从客户端计算机中查找脚本。
如果我尝试跑步
invoke-command -computer $MachineName -command { C:\\hello.ps1 }
,它执行客户端远程计算机中可用的脚本。
但是我想在远程机器本身中执行远程脚本。
如何使其运行在远程计算机上可用的脚本?
更新:
实际上,此命令“ invoke-command -computer $MachineName -command { C:\\hello.ps1 }
”在远程端有效,并将结果返回给客户端。 看到它在客户端执行的返回值,我误会了。
我遇到了同样的错误,但我在你的代码中的一个变量中连接了一个远程会话,最后得到了一些有效的东西:
$s = New-PSSession -ComputerName "WTxxxxxL32" -Credential $credential
Invoke-Command -Session $s -Command {D:\ServerDLLDev\RemoteCOMInstall.ps1}
有一百万个 Invoke 等解决方案,但最简单的最终对我有用。 谢谢你。
我有完全相同的探针,并通过[WMICLASS] 's create()
和Start-Process
的组合解决了它。
在这里检查我的答案。
没关系,只是改变顺序
代替
invoke-command -computer $MachineName -filepath "C:\\hello.ps1"
利用
invoke-command -filepath "C:\\hello.ps1" -computer $MachineName
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.