PowerShell Ping mit Test-Connection

Das PowerShell Cmdlet Test-Connection ist eine sehr mächtige Funktion, um einen Ping gegen Hosts abzusetzen. Somit kann getestet werden, ob ein Server oder Computer, beziehungsweise ein Host erreichbar ist oder nicht. Hierfür gibt es sehr viele Parameter und Schalter.

Mit Test-Connection mehrere Hosts pingen

Test-Connection ist kein klassischer Ping in CMD, sondern ist sehr viel mächtiger. In diesem Beispiel möchte ich zeigen, wie man mit dem PowerShell Cmdlet mehrere Hosts nach einander pingen kann. Es müssen lediglich mehrere Hosts oder IP-Adressen nacheinander angegeben werden, getrennt mit einem Komma.

Test-Connection 10.41.7.9,10.41.1.11,10.41.4.232
Test-Connection mehrere Hosts IP-Adressen Ping

Hier sieht man, dass vier Versuche in PowerShell abgesetzt werden, so wie man es aus der CMD (Kommandozeile) gewohnt ist. Trotzdem erhält man ausführlichere Informationen wie beispielsweise die Quelle und die IPv6 Adresse.

Ping in PowerShell mit dem Silent (Quiet) Modus

Mit dem PowerShell Cmdlet Test-Connection ist es möglich, einen Ping mit einem so genannten Quiet-Modus abzusetzen. Man verwendet hierzu den Parameter -Quiet.

Test-Connection 10.41.7.9,10.41.1.11,10.41.4.232 -Quiet
Ping mit Test-Connection Quiet silent

Als Ergebnis Ereichbarkeitsabfrage mit PowerShell bekommt man im Quiet-Modus keine Details angezeigt, sondern lediglich welchen Status Test-Connection zurück liefert. Das Ergebnis ist True, wenn der Ping erfolgreich war, oder False wenn der Test nicht erfolgreich war.

Andere Quelle verwenden

Außerdem ist es mit Test-Connection möglich, den Ping von einer anderen Quelle absetzen zu lassen. Hier hilft der Parameter -Source <host> und -Destination <host> um dies mit PowerShell zu realisieren.

Test-Connection -Source domaincontroller1 -Destination domaincontroller2

Um diesen Parameter zu nutzen sind allerdings (je nach Quelle) erhöhte Rechte notwendig.

Alle Test-Connection Parameter für einen Ping per PowerShell

Natürlich hat das Commandlet Test-Connection in PowerShell noch viele weitere Parameter die verwendet werden können. Diese Funktionen sind verfügbar:

  • Dauerping
  • Protokoll
  • Port
  • TraceRoute

Dauerhaft oder Anzahl angeben

Um einen Durchgehenden, beziehungsweise dauerhaften Ping per PowerShell Script abzusetzen, wird der Parameter -Count verwendet. Hier kann eine Anzahl in Zahlen angegeben werden, oder einfach der maximale Wert mit ([int32]::MaxValue).

Test-Connection 10.41.7.9 -Count ([int32]::MaxValue)
Dauer-Ping nicht endend mit PowerShell

Abgebrochen kann solch eine Aufgabe in PowerShell übrigens mit der Tasten-Kombination [STRG] + [C].

Test-Connection auf Protokoll oder Port

Natürlich ist es auch möglich auf ein bestimmtes Protokoll, oder auch auf einen bestimmten Port pingen zu lassen. Test-Connection ist sehr mächtig und benötigt für einen Protokoll-Test (HTTP) den Parameter -CommonTCPPort.

Test-NetConnection intranet.domain.de -CommonTCPPort HTTP
Test-Connection HTTP Protokoll

Aber nicht nur das Protokoll wie HTTP oder RDP ist möglich, sondern auch ein direkter Test auf einen Port. Um einen Port mit PowerShell zu überprüfen wird der Parameter -Port verwendet.

Test-NetConnection intranet.domain.de -Port 443
Test-Connection Port 80 443

TraceRoute absetzen

Der Befehl TraceRoute sollte Netzwerk-Administratoren bekannt sein. Auch dieser kann mit diesem PS Cmdlet abgesetzt werden. Hierzu wird der Parameter -TraceRoute benötigt.

Test-NetConnection intranet.domain.de -TraceRoute
TraceRoute Tracert mit PowerShell absetzen

So einfach ist es auf einen bestimmten Host ein TraceRoute abzusetzen.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments