es gibt doch so schöne Möglichkeiten mit WMI:
---------------------
'created by
blub@mcseboard.de 15.8.06
'Skript um die Erreichbarkeit mittels ping festzustellen
Option Explicit
Dim arrcomputers, strSeconds, strResult, strComputer
'************************hier die Parameter setzen*********************
arrComputers = Array("Rechner1","192.168.2.1") 'Rechnernamen
strSeconds = 900 ' Zeitabstand in Sekunden
'*********************************************
Do
For Each strComputer In arrComputers
strResult=FunPingstatus(strComputer)
funoutput strComputer,strResult
Next
WScript.Sleep 1000*strSeconds
Loop
Function FunPingstatus(strComputer)
Dim wmiquery, objcomputer, colPingedComputers
Dim objWMIService_PingStatus, wmiNS
wmiNS="\root\cimv2"
wmiquery="Select * from Win32_PingStatus Where Address = " & "'" & strcomputer& "'"
Set objWMIService_PingStatus = GetObject("winmgmts:\\" & "."& wmiNS)
Set colPingedComputers = objWMIService_PingStatus.ExecQuery (wmiquery)
For Each objComputer in colPingedComputers
select case objComputer.StatusCode
case 0 Funpingstatus="0 success" ' 'Host erreichbar
case 11001 Funpingstatus="11001 Buffer Too Small"
Case 11002 Funpingstatus="11002 Destination Net Unreachable"
Case 11003 Funpingstatus="11003 Destination Host Unreachable"
case 11004 Funpingstatus="11004 Destination Protocol Unreachable"
case 11005 Funpingstatus="11005 Destination Port Unreachable"
case 11006 Funpingstatus="11006 No Resources"
case 11007 Funpingstatus="11007 Bad Option"
case 11008 Funpingstatus="11008 Hardware Error"
case 11009 Funpingstatus="11009 Packet Too Big"
case 11010 Funpingstatus="11010 Request Timed Out"
case 11011 Funpingstatus="11011 Bad Request"
case 11012 Funpingstatus="11012 Bad Route"
case 11013 Funpingstatus="11013 TimeToLive Expired Transit"
case 11014 Funpingstatus="11014 TimeToLive Expired Reassembly"
case 11015 Funpingstatus="11015 Parameter Problem"
case 11016 Funpingstatus="11016 Source Quench"
case 11017 Funpingstatus="11017 Option Too Big"
case 11018 Funpingstatus="11018 Bad Destination"
case 11032 Funpingstatus="11032 Negotiating IPSEC"
case 11050 Funpingstatus="11050 General Failure"
end select
Next
End Function
Function funOutput(strComputer, strResult)
Dim vb2tab : vb2tab=vbTab+vbtab
WScript.Echo strcomputer + vb2tab + strResult +vb2tab & now 'Ausgabe hier beliebig formatieren
End Function