3
WMI를 사용하여 15 분마다 Windows 이벤트 로그를 모니터링하고 최신 로그 이벤트를 가져오고 싶습니다. WQL을 사용하여 쿼리를 수행 할 수 있지만 order by와 같은 키워드는 없습니다. 어떤 아이디어이 문제를 해결하는 방법?wmi를 사용하여 최신 Windows 로그 이벤트 받기
WMI를 사용하여 15 분마다 Windows 이벤트 로그를 모니터링하고 최신 로그 이벤트를 가져오고 싶습니다. WQL을 사용하여 쿼리를 수행 할 수 있지만 order by와 같은 키워드는 없습니다. 어떤 아이디어이 문제를 해결하는 방법?wmi를 사용하여 최신 Windows 로그 이벤트 받기
데이터 세트를 사용할 수 있습니다. 아래는 vbscript를 사용하고 ComputerName, EventCode 및 Message 필드에만 사용됩니다. 원하는 다른 필드 추가
Const adVarChar = 200
Const MaxCharacters = 1024
Const adFldIsNullable = 32
Set DataList = CreateObject("ADOR.Recordset")
DataList.Fields.Append "ComputerName", adVarChar, MaxCharacters,adFldIsNullable
DataList.Fields.Append "EventCode", adVarChar, MaxCharacters,adFldIsNullable
DataList.Fields.Append "Message",adVarChar,MaxCharacters,adFldIsNullable
DataList.Open
strComputer = "."
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = 'Application'")
For Each evt in colLoggedEvents
DataList.AddNew
DataList("ComputerName") = evt.ComputerName
DataList("EventCode") = evt.EventCode
DataList("Message") = evt.Message
DataList.Update
Next
'sort by eventcode
DataList..Sort = "EventCode DESC"
DataList.MoveFirst
Do Until DataList.EOF
Wscript.Echo DataList.Fields.Item("ComputerName") & vbTab & DataList.Fields.Item("EventCode") & vbTab & DataList.Fields.Item("Message")
DataList.MoveNext
Loop