通过Get-winevent获取转发事件的时间?

时间:2012-02-10 08:00:50

标签: events powershell

美好的一天。 我试图用get-winevent过滤日志。当我使用本地日志作为安全性,系统等一切都没问题。 StartTime正常工作。

$yesterday = (get-date) - (new-timespan -day 1) 
$a = get-winevent -FilterHashTable @{LogName='system'; StartTime=$yesterday}

当我尝试将此命令用于"转发事件"有错误:" Get-WinEvent:未找到符合指定选择标准的事件。"问题" StartTime"和" EndTime"仅

任何人都知道问题在哪里?

1 个答案:

答案 0 :(得分:1)

对于这些类型的日志,您需要使用xpath查询,这很复杂。

$query=@"
<QueryList>
  <Query Id='0' Path='Microsoft-Windows-Dhcp-Client/Admin'>
    <Select Path='Microsoft-Windows-Dhcp-Client/Admin'>*[System[TimeCreated[timediff(@SystemTime) &lt;= 2592000000]]]</Select>
  </Query>
</QueryList>
"@

get-winevent -LogName Microsoft-Windows-Dhcp-Client/Admin -FilterXPath $query

我在ForwardedEvents中没有任何内容,所以我使用了不同的日志。最好的办法是使用EventViewer构建查询,然后复制并粘贴XML。你很可能需要摆弄引号字符。