PowerShell 技能连载 - 在多台计算机中并行运行命令

假设您已经启用了 PowerShell 远程处理(请看我们之前的技能),那么您可以同时在多台计算机上运行命令。

以下例子演示了这个操作,并且在列表中所有计算机中所有用户的桌面上放置一个文件。警告:这是个很强大的脚本。它将在列表中的所有机器上运行 $code 中的任何代码,假设启用了远程处理,并且您有相应的权限:

1
2
3
4
5
6
7
8
9
10
# list of computers to connect to
$listOfComputers = 'PC10','TRAIN1','TRAIN2','AD001'
# exclude your own computer
$listOfComputers = $listOfComputers -ne $env:COMPUTERNAME
# code to execute remotely
$code = {
"Hello" | Out-File -FilePath "c:\users\Public\Desktop\result.txt"
}
# invoke code on all machines
Invoke-Command -ScriptBlock $code -ComputerName $listOfComputers -Throttle 1000

例如,如果您将 $code 中的代码替换为 Stop-Computer -Force,所有机器将会被关闭。

PowerShell 技能连载 - 在多台计算机中并行运行命令

http://blog.vichamp.com/2017/12/25/running-commands-on-multiple-computers-in-parallel/

作者

吴波

发布于

2017-12-25

更新于

2022-07-06

许可协议

评论