fracine
Posts: 1619
Score: 23 Joined: 11/17/2001 From: Québec, Canada Status: offline
|
I am trying to query a specific Event on a server: This Query will list all computers with that particular event id for a specific delay: Set colEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where Logfile = 'Application' AND " _ & "EventCode = '1004' and TimeWritten >= '" _ & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") As soon as I am trying to filter a little deepeer with a particular computer name in the message then a get a null result. Set colEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where Logfile = 'Application' AND " _ & "EventCode = '1004' AND InStr(Message,strcomputername)>'0' and TimeWritten >= '" _ & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") Dim dtmBeginDate Dim dtmCurrentDate Dim dtmEndDate Dim dtmStartDate Dim dtmTomorrowdayDate Dim dTmWritten Dim strBias Dim strComputer Dim strComputername Set objShell = CreateObject("WScript.Shell") 'strComputername = objShell.ExpandEnvironmentStrings("%computername%") strComputername = "T5021" strComputer = "SGSCT03" 'Date en format Date dtmCurrentDate = Date 'Date d'hier en format Date dtmBeginDate = DateAdd("d",-1,dtmCurrentDate) 'Date de demain dtmTomorrowdayDate = DateAdd("d",1,dtmCurrentDate) 'WScript.Echo dtmBeginDate 'WScript.Echo dtmTomorrowdayDate 'Connexion à WMI Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") '=========== 'On se connecte à la classe Win32_TimeZone Set colTimeZone = objWMIService.ExecQuery _ ("SELECT * FROM Win32_TimeZone") 'On recherche le BIAIS pour le timezone For Each objTimeZone in colTimeZone strBias = objTimeZone.Bias 'WScript.Echo strBias Next 'Correspond à l'heure 0 de la journée d'hier en format UTC. On converti la date d'hier en format date vers le format UTC dtmStartDate=DateToUTC(dtmBeginDate) 'Correspond à l'heure 0 de la journée Fin en format UTC. On converti la date de demain en format date vers le format UTC dtmEndDate=DateToUTC(dtmTomorrowdayDate) WScript.echo dtmStartDate WScript.Echo dtmEndDate '=========== ' Set colEvents = objWMIService.ExecQuery _ ' ("Select * from Win32_NTLogEvent Where Logfile = 'Application' AND " _ ' & "EventCode = '1004' and TimeWritten >= '" _ ' & dtmStartDate & "' and TimeWritten < '" & dtmEndDate & "'") Set colEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where Logfile = 'Application' AND " _ & "EventCode = '1004' AND InStr(Message,strcomputername)>'0' and 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 dTmWritten=UTCToDate(objEvent.TimeWritten) Wscript.Echo "Time Written: " & objEvent.TimeWritten & " " & dTmWritten Wscript.Echo "Event Type: " & objEvent.Type Wscript.Echo "User: " & objEvent.User Wscript.Echo objEvent.LogFile Wscript.Echo InStr(objEvent.Message,strcomputername) Next '======================================================================== Function DateToUTC(dtmTargetDate) dtmtestdate=dtmTargetDate WScript.Echo dtmtestdate dtmTargetDate = Year(dtmTargetDate) 'Wscript.Echo dtmTargetDate dtmMonth = Month(dtmtestdate) WScript.Echo dtmMonth If Len(dtmMonth) = 1 Then dtmMonth = "0" & dtmMonth End If dtmTargetDate = dtmTargetDate & dtmMonth 'Wscript.Echo dtmTargetDate dtmDay = Day(dtmtestdate) If Len(dtmDay) = 1 Then dtmDay = "0" & dtmDay End If dtmTargetDate = dtmTargetDate & dtmDay & "000000.000000" dtmTargetDate = dtmTargetDate & Cstr(strBias) ' MsgBox(dtmtestdate & " " & dtmTargetDate) DateToUTC=dtmTargetDate End Function '======================================================================== Function UTCToDate(dtmTargetDate) WScript.Echo dtmTargetDate UTCToDate = CDate(Mid(dtmTargetDate, 5, 2) & "/" & _ Mid(dtmTargetDate, 7, 2) & "/" & Left(dtmTargetDate, 4) _ & " " & Mid (dtmTargetDate, 9, 2) & ":" & _ Mid(dtmTargetDate, 11, 2) & ":" & Mid(dtmTargetDate, _ 13, 2)) End Function
_____________________________
François Racine Technicien Please rate my post :)
|