Я не могу воспроизвести в моей среде, но вы можете попробовать что-то вроде:
$Comps = "smzmi0020d", "smzmi0025d"
Invoke-Command -ComputerName $Comps -ScriptBlock {(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate' -name susclientid)} | Select-Object -Property SusClientID, PSComputerName
Примечание: Foreach-Object
обрабатывает объекты последовательно, в то время как Invoke-Command
делает это параллельно (32компьютеры одновременно по умолчанию). Следовательно, он должен быть намного быстрее!
Invoke-Command
также повторно запускает параметр PSComputerName
, который содержит имя компьютера, повторяющего вывод, поэтому с Select-Object
в конце все будет в порядке. В конце концов вы можете направить вывод в | Format-Table -AutoSize
.