【问题标题】:Triggering a remote powershell script to run independently触发远程powershell脚本独立运行
【发布时间】:2018-05-31 06:10:47
【问题描述】:

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

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

. \\Server1\scripts\dfsscript.ps1

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

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

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

【问题讨论】:

  • 你看过Invoke-Command吗?例如,Invoke-Command -ComputerName "Server1" -FilePath PC1\scripts\dfsscript.ps1
  • 非常感谢,我已经为此工作了几个小时,但我什至没有想到。像魅力一样工作。

标签: powershell


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2023-03-31
    • 2023-04-10
    相关资源
    最近更新 更多