我有一个脚本,用于检查不同服务器上的某些服务是否启动,如果不启动,脚本应启动该服务。并行启动服务
问题是,它不会并行启动服务,而是等到每个服务启动。
代码:
$server_list = Get-Content -path D:\Path\list_of_servers.txt
$server_list | foreach {
(Get-Service -Name '*Service Name*' -computername $_) | Where-Object {$_.status -eq "Stopped"} | Set-Service -Status Running
}
我知道这是由于脚本编写方式,但也许有些你有什么建议,如何使它更好?
干杯!
哪个版本Powershell你在跑吗?有了V3和V4,你可以使用'foreach -parallel' – 2014-12-08 07:55:39
你用'Start-Job'看了吗? – xXhRQ8sD2L7Z 2014-12-08 07:58:35
@MickyBalladelli不幸的是,我们正在使用V2 – user3782265 2014-12-08 08:29:40