Я хочу очень быстро пропинговать несколько компьютеров с помощью рабочего процесса PowerShell.Но для моей команды мой сценарий медленный, потому что мой сценарий занимает 11 минут для проверки связи с 5000 ПК.
Я на Windows Server 2012 R2.
workflow OnlinePC {
Param ($srv)
$collectionWithItems = New-Object System.Collections.ArrayList
foreach -parallel -throttlelimit 5500 ($pc in $srv) {
$workflow:collectionWithItems += InlineScript {
$req = Test-Connection -ComputerName $using:pc.Name -Count 1 -BufferSize 1 -ErrorAction SilentlyContinue
if ($req) {
$using:pc | Add-Member -MemberType NoteProperty -Name "Online" -Value "Yes"
} else {
$using:pc | Add-Member -MemberType NoteProperty -Name "Online" -Value "No"
}
$using:pc
}
}
return $collectionWithItems
}
OnlinePC -svc $PC