So kannst du mit der PowerShell die Netzwerkverbindung prüfen

Überblick

Möchtest du mit der PowerShell die Netzwerkverbindung prüfen? Das Prüfen der Netzwerkverbindung ist oft eine tägliche Arbeit des Administrators. Nicht immer funktioniert alles einwandfrei und einer der ersten Befehle, den man bei Netzwerkproblemen verwendet, ist der Ping Befehl.

In jüngster Zeit hält aber die Windows PowerShell Einzug in die Windows-Welt, sodass man sich langfristig mit dieser auseinandersetzen muss. Im Bereich der Netzwerküberprüfung habe ich mir mal das Cmdlet Test-Connection genauer angesehen.

In diesem Beitrag möchte ich euch zeigen, wie man damit arbeitet. Das Cmdlet bietet vor allem auch wesentlich mehr Möglichkeiten, als der herkömmliche cmd-Befehl ping.

Netzwerkverbindung prüfen – der einfache Aufruf mit Ping

Natürlich kann man auch unter der Windows PowerShell den CMD-Befehl „ping“ verwenden. Prinzipiell liefert dieser auch ein Ergebnis. Da es sich aber bei der PowerShell um eine objektorientierte Skriptsprache handelt, ist es gerade in Skripten sinnvoller, Test-Connection zu verwenden.

Es wird damit nämlich ein Win32_PingStatus-Objekt zurückgegeben. Dadurch kann man das Ergebnis wesentlich genauer analysieren. Damit übrigens ein PC auch auf einen Ping antworten kann, muss dieser ICMP-Pakete durchlassen.

Ob der Rechner diese durchlässt, hängt davon ab, welchen Netzwerkstandort er eingestellt hat. Sollte man die Regeln manuell ändern wollen, dann geht das über die Windows-Firewall.

Ein einfacher Aufruf sieht wie folgt aus:

Test-Connection  Server-Name oder IP

Die Netzwerkverbindung prüfen, ausgehen von einem anderen Quell Rechner

Wie eingangs bereits erwähnt, bietet die Windows PowerShell mit dem Cmdlet Test-Connection viel mehr Möglichkeiten, als ein einfacher Ping-Befehl. So gibt es z. B. die Möglichkeit, einen Ping von einem anderen Quell-Computer aus auszuführen.

Test-Connection -Source PC1 -ComputerName DS412

In diesem Beispiel würde man von dem Computer PC1 einen Ping an die Synology Diskstation* dem Namen DS412 senden. Übrigens kann man durch Kommas getrennt auch mehrere Quell- und Zieladressen angeben.

Möchte man sich beim Netzwerkverbindung prüfen über Test-Connection sämtliche Attribute und Werte ausgeben lassen, so ist es sinnvoll, wenn man mittels der Windows PowerShell Pipe das Ergebnis weiterverarbeitet und in einer formatierten Liste ausgeben lässt. Für die Liste dient das Cmdlet Format-List.

Test-Connection DS412 | Format-List
Mit der PowerShell die Netzwerkverbindung prüfen
Mit der PowerShell die Netzwerkverbindung prüfen

Wenn man sich die obige Ausgabe ansieht, so erkennt man schnell, wie viele verschiedene Werte der Befehl liefert. Genau daraus kann man spezielle Skripte erstellen, welche bestimmte Anforderungen erfüllen.

Damit kannst du ein Skript mit vielen Ausgaben und Parametern erstellen, das vielleicht nicht nur deine Netzwerkverbindung prüfen kann, sondern noch mehr.

Vorstellbar wäre hier u. a., dass man die Pings auf deren Zeiten prüft (ResponseTime). Genau das möchte ich euch im nächsten Abschnitt zeigen.

Die Zeiten für die Pings prüfen

Gerade wenn es um spezielle Konfigurationen und Skripte geht, kann die PowerShell überzeugen. So prüft das folgende Script die Pingzeiten der einzelnen PCs, und falls einer eine höhere Antwortszeit als z. B. 2 ms hat, wird dieser mit seiner IP-Adresse und Antwortzeit ausgegeben. Damit könnte man sehr einfach Rechner ausfindig machen, welche eine lange Antwortzeit haben.

$ping = Test-Connection PC1, DS412, P215LE2

foreach($p in $ping)
 { 
         if ($p.ResponseTime -gt 2) 
            {
             $p.Address + ": " + $p.ResponseTime + "ms"
            }
}

Natürlich darf man nicht vergessen: Wenn man ein Skript erstellt und dieses ausführen möchte, so müssen auf dem Windows System auch die Ausführungsrichtlinien entsprechend gesetzt sein.

Mehrere Rechner auf deren Erreichbarkeit prüfen

Was mit der Windows PowerShell und dem Test-Connection Cmdlet noch vorstellbar wäre, ist, dass man ein kleines Skript erstellt, welches nur prüft, ob bestimmte Computer erreichbar sind. Hierfür gibt es den Parameter quiet. Dieser liefert im Falle eines erfolgreichen Pings true zurück. Andernfalls natürlich false. Damit kann man jetzt bei einer Reihe von PCs die Netzwerkverbindung prüfen.

$ping = Test-Connection PC1, DS412, P215LE2 -Quiet

foreach($p in $ping)
 { 
          if ($p -eq $false) 
              {
               Write-Host "PC nicht erreichbar!"
              }

}

Falls es übrigens Probleme bei der Namensauflösung gibt und der Name nicht aufgelöst werden kann, liefert das Script mit dem Parameter Quiet auch false zurück. Mit Test-Connection erhält man dagegen eine Fehlermeldung.

Solltest du die Kabel prüfen wollen, so wäre ein Netzwerktest sinnvoll. Damit kannst du nicht nur die Kabel prüfen, sondern auch die Netzwerkdosen u.v.m.

Fazit

Um die Netzwerkverbindung prüfen zu können, bietet die Windows PowerShell wesentlich mehr Optionen an. Auch beim Prüfen einer vorhandenen Netzwerkverbindung der PCs wird wieder deutlich, wie mächtig die PowerShell ist. Gerade für Spezialfälle, wie das Prüfen auf Ping Zeiten oder der Erreichbarkeit mehrerer Computer, spielt die PowerShell ihre Stärken aus.

Das könnte dich auch interessieren

Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux-Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte. -> Gern kannst du mich mit einem Kaffee unterstützen!


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


1 Gedanke zu „So kannst du mit der PowerShell die Netzwerkverbindung prüfen“

  1. Schade, dass die Seite ohne Blocker unbenutzbar ist.
    Man will was lernen, kann sich aber bei dem „bewegten Inhalt“ nicht auf den Text konzentrieren.
    Waren das noch Zeiten, als Werbebanner noch statisch waren…

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kostenlose E-Books für die IT-Administration

Steigere deine IT-Kompetenzen

Ebook - 10 Schritte nach der Windows Installation
Close the CTA

Windows 11, Windows Server, Docker, PowerShell Referenzen, Batch, Linux Terminal, 

u.v.m.