6
Gibt es eine Möglichkeit, die Unterseite parallel laufen zu lassen (Multithreading)? Ich habe ungefähr 200 Server, die ausgeführt werden müssen, und ich frage mich, ob es eine Möglichkeit gibt, 10 Server gleichzeitig und nicht einzeln nacheinander zu überprüfen ... WMI ist sehr langsam dabei, dies einzeln zu überprüfen.Wie füge ich Multithreading hinzu?
clear
Write-Host "Script to Check if Server is Alive and Simple WMI Check"
$servers = Get-Content -Path c:\Temp\Servers.txt
foreach($server in $servers)
{
if (Test-Connection -ComputerName $server -Quiet)
{
$wmi = (Get-WmiObject -Class Win32_ComputerSystem -ComputerName $server).Name
Write-Host "$server responds: WMI reports the name is: $wmi"
}
else
{
Write-Host "***$server ERROR - Not responding***"
}
}
wenn Sie wollen weiter fortgeschritten mit der Steuerung Fäden erhalten versuchen, diese [link] (http://blogs.msdn.com/b/powershell/archive/2011 /04/04/scaling-and-queuing-powershell-background-jobs.aspx) – jbockle
danke viel !!!! Das ist SOOOOO SCHNELL JETZT !!! Vielen Dank dafür. – lara400
fyi für diejenigen, die den Befehl nicht kennen. ForEach-Object hat Aliase% und foreach. Auch bedeutet das $ _ im Wesentlichen dieses Objekt. Es funktioniert sehr ähnlich wie die Zeile 'foreach ($ server in $ servers)' außer in jbockles Code startet die foreach-Schleife gerade Jobs (alle 200ish) und macht die Verarbeitung innerhalb der Schleife nicht 1. – BeowulfNode42