查询日期之间的事件日志记录
Query Eventlog Records Between Dates
我正在编写一个 VBScript,它试图查询 WMI 系统日志以了解当月的启动和关闭情况,不幸的是,我创建的查询遇到了自动化错误。
我有一个函数可以为月初和月底动态创建一个 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)
因为我不知道更好)。
我希望有人能够指出我的方法中的错误并解释为什么这个查询不起作用。
WQL 没有 between
运算符并且您的两个日期都无效(您有 yyyy<i><b>M</b></i>ddHHmmss.ffffff±zzz
当你应该 yyyy<i><b>MM</b></i> ddHHmmss.ffffff±zzz
).
改变
TimeWritten is between '2015101000000.000000-000' and '2015131235959.000000-000'
进入
TimeWritten >= '20150101000000.000000-000' and TimeWritten <= '20150131235959.000000-000'
我正在编写一个 VBScript,它试图查询 WMI 系统日志以了解当月的启动和关闭情况,不幸的是,我创建的查询遇到了自动化错误。
我有一个函数可以为月初和月底动态创建一个 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)
因为我不知道更好)。
我希望有人能够指出我的方法中的错误并解释为什么这个查询不起作用。
WQL 没有 between
运算符并且您的两个日期都无效(您有 yyyy<i><b>M</b></i>ddHHmmss.ffffff±zzz
当你应该 yyyy<i><b>MM</b></i> ddHHmmss.ffffff±zzz
).
改变
TimeWritten is between '2015101000000.000000-000' and '2015131235959.000000-000'
进入
TimeWritten >= '20150101000000.000000-000' and TimeWritten <= '20150131235959.000000-000'