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