我正在尝试按日期过滤此查询(在$ time之后获取值)。我没有在-filter参数上执行此操作,原因是在Windows Server 2003 SP2上出现错误。
$colLogFiles = Get-WmiObject -Class Win32_NTLogEvent -ComputerName "localhost" | Where-Object {($_.EventType -eq "1") -or (($_.EventType -eq "2") -and ($_.TimeGenerated -gt $time))}
但是最后一个条件是它什么也不做,我认为是因为datetime格式无法被识别。 $ _。TimeGenerated的示例是20181213144843.186997-000
是否存在执行此操作或更改该日期时间格式的任何方式?
答案 0 :(得分:0)
我通过使用win32com库在Python中制作它来解决了这个问题。然后,我将其添加为此日期格式的过滤器!
time = datetime.today() + timedelta(hours=5, minutes=-10)
timeFormatted = time.strftime("%Y%m%d%H%M%S.000000-000")
系统wmi格式的GTM为0,但是我的电脑是GTM -5,这就是为什么我要增加5个小时。
查询:
query = "Select * from Win32_NTLogEvent where (EventType = 1 or EventType = 2) and TimeGenerated >= " + "\"" + timeFormatted + "\""
2003年是如此有限!
谢谢