首页 > 解决方案 > 触发远程powershell脚本独立运行

问题描述

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

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

. \\Server1\scripts\dfsscript.ps1

正如我们已经知道的那样,上述操作将失败,因为 PowerShell 在 PC1 上本地查找“dfsutil”,而不是在服务器“Server1”上查找。

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

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

标签: powershell

解决方案


点源是关于 PowerShell 会话的范围,但不包括计算环境,因此您所做的不会让 Server1 上的脚本从 Server2 运行,但仍然像在 Server1 上一样可以访问Server1 安装的所有应用程序等。

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

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

推荐阅读