触发远程PowerShell脚本以独立运行

时间:2018-05-31 06:10:47

标签: powershell

我创建了一个名为'dfsutil'的脚本,可供团队中的所有成员使用。有些成员没有在本地安装RSAT(dfsutil),所以我想独立于源PC(PC1)“触发”.ps1脚本,以便在安装了“dfsutil”的服务器(Server1)上运行。

通过从'myscript.ps1'点源来从源'PC1'触发远程PowerShell脚本很容易:

. \\Server1\scripts\dfsscript.ps1

正如我们已经知道的,上面的内容将失败,因为PowerShell在PC1上本地寻找'dfsutil',而不是在服务器'Server1'上。

'dfsscript.ps1'已被编写,因此可以独立运行,无需将值返回给PC1。

我似乎找不到任何显示如何初始化远程脚本的文档,该脚本仅使用触发的操作系统的值和条件。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Dot-sourcing是关于PowerShell会话的scope,但并不包含计算环境,因此您所做的事情不会让Server1上的脚本从Server2运行,但仍然可以像在Server1上那样访问所有Server1的已安装应用程序等。

您需要做的是使用PowerShell remoting在远程服务器上实际运行脚本(即从Server2触发,但在Server1上执行)。例如:

Invoke-Command -ComputerName Server1 -FilePath <path>\script.ps1