我有停止和启动windows服务的脚本。目前,它通过foreach循环工作得很好;但是,它很耗时。我正在寻找一种同时触发所有的方法,而不是通过$computer对象foreach循环并执行1到1。请建议。非常感谢
Foreach ($v in $computers)
{
if ($v.value -eq "true")
{
$computers = $v.Name.Split("_")
Write-Host "Processing " $computers[1]
StartOrStopService $computers[1] $StartOrStopService.ToLower()
}
}诚挚的问候,
发布于 2020-05-14 04:08:04
我建议使用作业来并行执行
Foreach ($v in $computers)
{
Invoke-Command -ComputerName . -ScriptBlock {
Param($v, $StartOrStopService)
if ($v.value -eq "true")
{
$computers = $v.Name.Split("_")
Write-Host "Processing " $v.Name
StartOrStopService $v.Name $StartOrStopService.ToLower()
}
} -AsJob -ArgumentList $v, $startorStopService
}如果想要查看命令的输出,可以使用Get-Job | Receive-Job。
https://stackoverflow.com/questions/61783762
复制相似问题