VBScript: Standard Pingabfrage mit WMI

Last Updated on 2. Juni 2016 by Thomas J. Fehr

Um zu überprüfen ob ein Host im Netzwerk erreichbar ist, kann man eine standard Pingabfrage verwenden.

Mit der “Win32_PingStatus WMI CLASS” bietet Microsoft die Möglichkeit eine solche standard Pingabfrage in einem VBScript zu verwenden.


Dim hostToPingFrom: hostToPingFrom= "localhost"
Dim targetIP: targetIP = 8.8.8.8

Dim cPingResults: Set cPingResults = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _
hostToPingFrom & "/root/cimv2"). ExecQuery("SELECT * FROM Win32_PingStatus " & _
"WHERE Address = '" + targetIP + "'")

For Each oPingResult In cPingResults
    If oPingResult.StatusCode = 0 Then
       wscript.echo "Host is reachable"
    End if
Next

  • Zeilen 4,5,6: Verschickt die Pingabfrage
  • Zeile 8: Iterieren über die Ping-Resultate
  • Zeile 9: Ist der Statuscode 0 war das Pingkommando erfoglreich. Weitere Statuscodes werden in der Dokumentation zur “Win32_PingStatus class” beschrieben.

ping-checker.vbs

Ein kleines VBScript, das ein Ping sendet und bei einem Fehler eine Benachrichtigung als Email, über einen SMTP-Server, verschickt oder in der Windows Konsole anzeigt. Je nach Konfiguration. Dieses einfache Skript kann als Grundlage dienen, um sich ein eigenes, den Bedürfnissen angepasstes Skript zu erstellen.

ping-checker.vbs als 7zip herunterladen

ping-checker.vbs output
Der Konsolen-Output des Skriptes, da der Host 192.168.88.55 nicht erreichbar war.

Nützliche Links

Microsoft: Win32_PingStatus class
Wikipedia: Ping

Schreibe einen Kommentar

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