LISTING 2: Enabling the Security Privilege and Optimizing ExecQuery Performance Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 If WScript.Arguments.Count = 1 Then strComputer = WScript.Arguments.Item(0) Else strComputer = "." End If Set STDOUT = WScript.StdOut Set wmiService = GetObject("winmgmts:" & _ "{impersonationLevel=Impersonate,(Security)}!\\" & _ strComputer & "\root\cimv2") '' Set wmiService = GetObject("winmgmts:" & _ ' "{impersonationLevel=Impersonate}!\\" & _ ' strComputer & "\root\cimv2") ' wmiService.Security_.Privileges.AddAsString "SeSecurityPrivilege", _ ‘ True Set wmiNTLogEvents = _ wmiService.ExecQuery("SELECT * FROM Win32_NTLogEvent", _ "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly) STDOUT.WriteLine "ComputerName,Logfile,Category,CategoryString," & _ "EventCode,EventIdentifier,RecordNumber,SourceName," & _ "TimeGenerated,TimeWritten,Type,User" For Each wmiNTLogEvent In wmiNTLogEvents STDOUT.WriteLine wmiNTLogEvent.ComputerName & "," & _ wmiNTLogEvent.Logfile & "," & _ wmiNTLogEvent.Category & "," & _ wmiNTLogEvent.CategoryString & "," & _ wmiNTLogEvent.EventCode & "," & _ wmiNTLogEvent.EventIdentifier & "," & _ wmiNTLogEvent.RecordNumber & "," & _ wmiNTLogEvent.SourceName & "," & _ wmiNTLogEvent.TimeGenerated & "," & _ wmiNTLogEvent.TimeWritten & "," & _ wmiNTLogEvent.Type & "," & _ wmiNTLogEvent.User Next