ich verwende manchesmal einen selbst geschriebenen script zur ping überwachung
geht auf jeden windows rechner (pingtest.vbs) läuft im hintergrund und liefert ein log
- Code: Alles auswählen
Main()
Sub Main()
ForceCScript()
intPingOK = True
intPingNotOK = False
strTarget = InputBox ("Bitte IP-Adresse eingeben z.B. 173.194.116.159",,"173.194.116.159")
CreateObject("Scripting.FileSystemObject").OpenTextFile("pingtest.txt", 2, True).WriteLine Date & " " & Time & " Pingtest Start " & strTarget
Do
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ping -n 3 -w 2000 " & strTarget)
strPingResult = LCase(objExec.StdOut.ReadAll)
If InStr(strPingResult, "100% verlust") Then
if intPingOK = True Then
intPingOK = False
intPingNotOK = True
Answer = Date & " " & Time & " Ping error"
CreateObject("Scripting.FileSystemObject").OpenTextFile("pingtest.txt", 8, True).WriteLine Answer
End if
Else
intPingOK = True
if intPingNotOK Then
intPingNotOK = False
Answer = Date & " " & Time & " Ping success"
CreateObject("Scripting.FileSystemObject").OpenTextFile("pingtest.txt", 8, True).WriteLine Answer
end if
End if
WScript.Sleep 30000
Loop
End Sub
Sub ForceCScript()
If InStr(UCase(WScript.FullName), "CSCRIPT.EXE") = 0 Then
Dim objShell : Set objShell = CreateObject("WScript.Shell")
objShell.Run "%comspec% /c cscript.exe " & Chr(34) & WScript.ScriptFullName & Chr(34), 0, False
WScript.Quit()
End If
End Sub
beispiel für das log (pingtest.txt)
- Code: Alles auswählen
25.10.2014 03:59:36 Pingtest Start 173.194.116.159
25.10.2014 04:00:48 Ping error
25.10.2014 04:01:24 Ping success
kann man leicht anpassen
um den script zu stoppen muss man cscript.exe mit dem taskmanager beenden oder halt den rechner neu starten
log einträge werden nur einmal geschrieben bei einer verbindungsunterbrechung