在具有运行空间的远程计算机上运行命令(脚本块)

时间:2019-12-07 21:22:43

标签: powershell user-interface runspace

您好,我有一个带有运行空间的模板,该模板运行命令并将输出提供给outputbox。我的大问题是如何使其在远程计算机上运行?如果现在运行脚本,它将为您提供当前计算机的系统信息,但是我需要在远程计算机上使用它。预先感谢

$rs = [runspacefactory]::CreateRunspace()
https://pastebin.com/B91Dgz0a

1 个答案:

答案 0 :(得分:0)

据我所知和使用,Runspaces用于multithreading或在本地计算机范围内并行执行。我不知道在远程计算机上启动和管理thread的生命周期的方法。那是远程计算机的操作系统的工作。

脚本块

不过,Runspaces允许您像在代码中一样使用scriptblocks方法向其中添加AddScript()。因此,您要做的就是将scriptblock内的代码更改为

SystemInfo /s $remoteComputer

您还应该可以使用Invoke-command -ComputerName $remoteComputer -ScriptBlock {SystemInfo}

传递参数

现在的问题是将$remoteComputer参数传递给scriptblock。您可以像这样使用AddArgument()的{​​{1}}方法:(在代码中使用变量名)

Runspace方法。

我希望这是有道理的。