我试图根据今天的日期通过PowerShell从事件日志中提取一些信息。
到目前为止,我有以下代码:
$today = (Get-Date).ToString("dd/MM/yyyy")
Get-EventLog Security | where {$_.EventID -eq 4624} | where {$_.TimeGenerated -eq $today}
现在我打印了今天的结果并且可以确认输出的日期是04/12/2017,我还从EventID对象打印了TimeGenerated
attriubute的日期,并且还显示了日期格式相同。
关于我哪里出错的任何想法?
答案 0 :(得分:1)
TimeGenerated
属性包含DateTime
值,而不是字符串,因此请勿将其与日期字符串进行比较。此外,您应尽可能通过Get-EventLog
参数进行过滤,因为过滤发生在源头。在查询远程事件日志以减少通过网络传输的数据量时,这尤其重要。
$today = (Get-Date).Date
$tomorrow = $today.AddDays(1)
Get-EventLog -LogName Security -InstanceId 4626 -After $today -Before $tomorrow