繁体   English   中英

如何执行远程机器中可用的powershell脚本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM