2015-01-05 4 views
0

Я пишу VBScript, который пытается запросить системные журналы WMI для запуска и выключения в течение текущего месяца и, к сожалению, я ударил ошибку автоматизации с запросом, который я создал.Query Eventlog Записи между датами

У меня есть функция, которая будет динамически создавать UTC для начала и конца месяца (по крайней мере, я думаю, что она делает, и она выглядит), а затем добавить его в строку запроса, которая выглядит следующим образом:

Select * from Win32_NTLogEvent 
Where Logfile = 'System' and 
    (EventCode = '12' or EventCode = '13') AND 
    (TimeWritten is between '2015101000000.000000-000' and '2015131235959.000000-000') 

Я попытался заменить одиночные кавычки на двойные кавычки (используя CHR(34), поскольку я не знаю ничего лучше).

Я надеялся, что кто-нибудь сможет указать ошибку в моих путях и объяснить, почему этот запрос не работает.

ответ

0

WQL не имеет between оператора и обе даты являются недействительными (у вас есть yyyyMddHHmmss.ffffff±zzz, когда вы должны иметь yyyyMMddHHmmss.ffffff±zzz).

Изменить

TimeWritten is between '2015101000000.000000-000' and '2015131235959.000000-000' 

в

TimeWritten >= '20150101000000.000000-000' and TimeWritten <= '20150131235959.000000-000' 
+0

Миллионов благодаря действительно, я не только упустив не хватает одной цифры, но я также узнал, что WQL не имеет между оператором. Я исправил и успешно переработал свой код. –

Смежные вопросы