如果我有一个脚本需要在多台计算机上运行,或者使用多个不同的参数,我怎样才能并行执行它,而不必产生产生新PSJobStart-Job
的开销?
例如,我想重新同步所有域成员的时间,如下所示:
$computers = Get-ADComputer -filter * |Select-Object -ExpandProperty dnsHostName
$creds = Get-Credential domain\user
foreach($computer in $computers)
{
$session = New-PSSession -ComputerName $computer -Credential $creds
Invoke-Command -Session $session -ScriptBlock { w32tm /resync /nowait /rediscover }
}
但我不想等待每个 PSSession 连接并调用命令。没有乔布斯,这怎么能并行完成?