如何加速使用-CimSession参数的PowerShell cmdlet?

正如标题所说,一个人怎么能加速执行这个小脚本呢? 我是否正确地使用New-CimSession?

$computers = Get-ADComputer -SearchBase "OU=W2012,OU=Servers,DC=contoso,DC=com" -Filter * foreach ($computer in $computers) { Get-ScheduledTask -TaskName "SomeTask" -CimSession (New-CimSession -ComputerName $computer.Name) } 

查看使用Get-ScheduledTask cmdlet的后台作业。 这将asynchronous运行该命令。

 foreach ($computer in $computers) { start-job -scriptblock { #Parse Args $CompName = $args[0] $TaskName = $args[1] Get-ScheduledTask -TaskName $TaskName -CimSession (New-CimSession -ComputerName $CompName) } -name( "SchedTask_$($computer)" ) -ArgumentList $computer, "Task Name" } 

之后,您需要等待,直到您的作业处于“完成”状态,然后使用接收作业获取输出。 Geek学校:了解如何在PowerShell中使用作业

做就是了:

 $computers = Get-ADComputer -SearchBase "OU=W2012,OU=Servers,DC=contoso,DC=com" -Filter * $sessions = New-CimSession -ComputerName $computers.Name Get-ScheduledTask -TaskName "SomeTask" -CimSession $sessions