Function IsAlive()
Die Funktion IsAlive() prüft, ob ein Computer auf
ping.exe antwortet und gibt dann entweder true
oder false zurück. Als
Parameter wird ein Rechnername übergeben.
Function IsAlive(ByVal strServer) |
Wir deklarieren IsAlive() als Funktion, die einen boolschen
Wert (true oder false) zurückgibt.
Mit WshShell.Exec("ping -n 1 -w 1000 " & strServer) wird
ein Ping ausgeführt, und die Ausgabe über oExec.StdOut.ReadAll
in die Variable strPingResult gespeichert.
Eine einfache Prüfung, ob in der Variablen strPingResult der String "ttl="
vorkommt, entscheidet die Frage IsAlive?
In die global festgelegte Variable strIP
wird entweder die
IP-Adresse (nur IP V4) extrahiert oder die Ausgabe von Ping gespeichert.
Aufrufbeispiel:
If IsAlive("MyServer01") Then
wscript.echo "MyServer01 hat die IP " &
strIP
End If
Scripting Basics
Hinweis:
Die WMI Klasse NetDiagnostics aus dem Namespace root\CIMV2 hat eine Methode Ping, die als Ausgabe true oder false liefert.
Allerdings steht das nur ab XP bzw. Server 2003 zur Verfügung.
Unter Vista und Server 2008 muss dem Ping Kommando noch der Parameter /4 (IP 4) mitgegeben werden, damit die Auswertung so funktioniert, wie im Skript gezeigt.
