繁体   English   中英

PS使用Get-WinEvent与FilterXPath和日期时间变量?

[英]PS using Get-WinEvent with FilterXPath and datetime variables?

  • 我正在按时间顺序从事件日志中抓取一些事件
  • 不想用管道输送到哪里
  • 想要使用get-winevent

获得Event1之后,我需要获取另一个事件的第一个实例,该事件 Event1 之后发生的时间未知。 然后获取在Event2等之后的某个时间发生的Event3。

基本上从以下开始:

$filterXML = @'
<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Kernel-General'] and (Level=4 or Level=0) and (EventID=12)]]</Select>
  </Query>
</QueryList>
'@    
$event1=(Get-WinEvent -ComputerName $PCname -MaxEvents 1 -FilterXml $filterXML).timecreated

给我Event1的日期时间。 然后我想做类似的事情:

Get-WinEvent -LogName“ System” -MaxEvents 1 -FilterXPath“ * [EventData [Data ='Windows Management Instrumentation'and TimeCreated -gt $ event1 ]]”“

显然,在此处用粗体显示的时间创建部分无效,但我希望您能得到我正在尝试做的事情。 有什么帮助吗?


我想也许filterhashtable是我需要去的地方? 寻找澄清:

$Event2=(Get-WinEvent -Oldest -MaxEvents 1 -FilterHashtable @{logname="system"; providername="Microsoft-Windows-GroupPolicy"; starttime=$Event1}).TimeCreated

这就是你想要的...

$t = (((Get-WinEvent -ComputerName $PCname -MaxEvents 1 -FilterXml $filterXML).TimeCreated).ToUniversalTime()).ToString("s")

顺便说一句,我需要时间计算机启动,所以这样的事情...

$t1 = (((Get-WinEvent -ComputerName "myhostname" -LogName "System" -MaxEvents 1 -FilterXPath "*[System[Provider[@Name='Microsoft-Windows-Kernel-General']][EventID=12]]").TimeCreated).ToUniversalTime()).ToString("s")

要么

$t1 = (($boottime.ConvertToDateTime($boottime.LastBootUpTime)).ToUniversalTime()).ToString("s")

然后

(Get-WinEvent -ComputerName "myhostname" -LogName "Application" -MaxEvents 1 -FilterXPath "*[System[TimeCreated[@SystemTime>'$t1']][EventID=6005]][EventData[Data='Sens' and Data='Logoff']]")|fl

要么

(Get-WinEvent -ComputerName "myhostname" -LogName "Application" -MaxEvents 1 -FilterXPath "*[System[TimeCreated[@SystemTime>'$t1']][EventID=6005]][EventData[Data='Sens' and Data='Logoff']]").Count

不必将所有内容都塞在一行上:

$t1 = [datetime]::Today.AddDays(-1).ToUniversalTime().ToString('s')
$xpath = @"
    *[System[TimeCreated[@SystemTime>'$t1']]
     [EventID=4624]]
     [EventData[Data='Sens' and Data='Logoff']]
"@

Get-WinEvent -ComputerName myhostname -LogName Security -FilterXPath $xpath -MaxEvents 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM