Heutiges cmdlet des Tages ist PowerShell Test-Connection. `Test-Connection
` ist ein cmdlet, das, wenig überraschend, Ihre Netzwerkverbindung testet. Denken Sie an `Test-Connection
` als Powershells Implementierung des beliebten Ping-Dienstprogramms. Obwohl beide ICMP gemeinsam haben, werden Sie feststellen, dass die beiden Methoden unter der Oberfläche ein wenig unterschiedlich sind.
Die Verwendung dieses cmdlets ist einfach. Geben Sie einfach einen ComputerName
-Parameter an, und es werden vier ICMP-Anfragen an das Zielhost gesendet.
Dieser Ausdruck sieht ähnlich aus wie ping.exe und ist auf den ersten Blick auch so, aber Powershell Test-Connection gibt die ICMP-Anfrage ein wenig anders aus. Anders als ping.exe verwendet `Test-Connection
` die WMI-Klasse `Win32_PingStatus` des lokalen Computers, um die ICMP-Anfrage zu senden. Die Verwendung des lokalen WMI-Repositorys bedeutet, dass Sie sicherstellen müssen, dass Ihr `lokales` WMI-Repository gesund ist, sonst wird `Test-Connection
` nicht funktionieren.
Objektausgabe von PowerShell Test-Connection
Außerdem gibt dieses cmdlet, genauso wie die Schönheit von PowerShell, nicht einfach nur das zurück, was sofort in der Konsole erscheint. Wir sehen hier reiche Objekte, von denen wir mehr Informationen sammeln können.
Wenn ich die Ausgabe einer Variable zuweise und dann die Eigenschaften überprüfe, können Sie sehen, dass ich viele nützlichere Informationen gesammelt habe.
Wenn Sie interne Hosts testen, verwendet Test-Connection
DCOM, um sich bei Remote-Hosts zu authentifizieren. Standardmäßig wird Paketebene DCOM-Authentifizierung verwendet, aber der Authentifizierungstyp kann jederzeit mit dem DcomAuthentication
-Parameter geändert werden.
Verwendung von Hintergrundjobs
Dieses Cmdlet kann auch als Hintergrundjob ausgeführt werden. Hintergrundjobs sind nützlich, wenn Sie viele Remote-Computer zu pingen haben und anstatt für solche, die schließlich ablaufen, für immer warten möchten, senden Sie es einfach als Hintergrundjob.
Laut der PowerShell-Hilfe für Powershell Test-Connections steht dort, dass PowerShell-Remoting aktiviert sein muss auf beiden lokalen und Remote-Computern, aber das ist nicht wahr. Wie Sie unten sehen können, teste ich google.com, und der Befehl funktioniert immer noch großartig.


Einfach halten
Wenn Sie nur eine binäre Ja/Nein-Antwort darauf suchen, ob ein Computer antwortet oder nicht, können Sie immer den Quiet
-Parameter verwenden. Eine häufige Zeichenkette, die ich immer verwende, um schnell zu sehen, ob ein Server online ist oder nicht, ist die Verwendung von Quiet
und Count
von 1, um Test-Connection
zu zwingen, eine einzelne ICMP-Anfrage zu senden.
Das war es für unseren Cmdlet des Tages! Wir haben den Großteil dessen abgedeckt, was mit Powershell test-connection möglich ist, aber wie immer sollten Sie sich die PowerShell-Hilfe ansehen oder zur Microsoft-Dokumentation gehen, um eine vollständige Aufschlüsselung zu erhalten.
Source:
https://adamtheautomator.com/powershell-test-connection/