Pinglogger

Fikk plutselig et behov for å logge resultatet av evt. pakketap på flere maskiner samtidig for å klare å isolere et problem. Utfordringen var at problemet oppstår alt mellom noen timer og dager, så trengte en logfil med når pakketapet oppstår, altså med tidsstempel/timestamp.

Scriptet kjøres med «pinglogger.vbs  10.0.0.1 pinglogger.txt»  f.eks.

Pinglogger.vbs

 IP = wscript.arguments(0)
 logfilename = wscript.arguments(1)
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set Shell = CreateObject("Wscript.Shell")
 Set logfile = fso.OpenTextFile(logfilename, 8, True)
 shellstring = "%comspec% /c ping -t " & IP
 Set oExec = Shell.Exec(shellstring)
 wscript.echo "Pinglogger running. CTRL+C to stop"
 Do While oExec.StdOut.AtEndOfStream <> True
 pingline = Date & " " & Time & " " & oExec.StdOut.ReadLine
 If InStr(pingline, "TTL=") = 0 Then
 logfile.WriteLine(pingline)
 End If
 Loop