Event Log Scripting
From: Brett (bcarr_at_intrum.com)
Date: 05/17/04
- Next message: Nate: "Login Script not running on certain machines"
- Previous message: Amihai: "AD Performance test"
- Next in thread: Scott: "RE: Event Log Scripting"
- Reply: Scott: "RE: Event Log Scripting"
- Reply: Scott: "RE: Event Log Scripting"
- Reply: Brett: "Re: Event Log Scripting"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 17 May 2004 16:26:03 +0200
Ultimately I want a script which will pull out only 'Error' entry logs from
servers.
So I came up with the following (aprtially ripped off from the MS site of
course)
Const CONVERT_TO_LOCAL_TIME = True
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")
DateToCheck = CDate("5/17/2004")
dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME
dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME
strComputer = "nlsv06"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where TimeWritten >= '" _
& dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'")
For each objEvent in colEvents
if objEvent.Type = "error" then
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
Wscript.Echo objEvent.LogFile
elseif objEvent.Type = "Error" then
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
Wscript.Echo objEvent.LogFile
End if
Next
If I run this script against a server with a small amount of event log
entries it works fine and pull out the error entries, However if I run the
same script against a server with a few hundred entries it hangs for a very
long time. If I remove the if "error" parts as below so the script pulls out
all events and run it against the same server it starts out fine, echoing
events to the console at a very rapid rate, however after a fairly short
time it slows right down so that it is only echoing one event every few
seconds (which explains why it appears to hang for the first script).
Can anybody help me as to why I'm having this problem or of course tell me a
better way I can pull out errors from the event logs.
Const CONVERT_TO_LOCAL_TIME = True
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")
DateToCheck = CDate("5/17/2004")
dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME
dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME
strComputer = "nlsv06"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where TimeWritten >= '" _
& dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'")
For each objEvent in colEvents
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
Wscript.Echo objEvent.LogFile
Next
Thanks
Brett Carr
- Next message: Nate: "Login Script not running on certain machines"
- Previous message: Amihai: "AD Performance test"
- Next in thread: Scott: "RE: Event Log Scripting"
- Reply: Scott: "RE: Event Log Scripting"
- Reply: Scott: "RE: Event Log Scripting"
- Reply: Brett: "Re: Event Log Scripting"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|