属性(System.Collections.Generic.IList)数据我运行这个(1号线是好的,只是第2行,我知道心不是右):Powershell |位置对象从获取-WinEvent
$specificEvent = Get-WinEvent -FilterHashtable @{"ProviderName"="Microsoft-Windows-Security-Auditing";Id=4648} | select -First 1
$specificEvent | ? {($_).Properties[1] -eq "whatever"}
而且它不是加工。没有感到惊讶,但有没有一种真正的方法来获取System.Collections.Generic.IList类型的属性数据?
我也可以访问相同的数据是这样的:
$specificEvent | % {
([xml]$_.ToXml()).Event.EventData.Data
}
但同样我不知道我怎么可以利用的是,在对象。
我也想知道是否有人知道如何(在foreach循环VS处理)的选择对象中显示的数据,所以当我终于得到过滤工作,我可以显示什么,我需要回去。
对任何愿意帮助的人,非常感谢!
UPDATE: 基于下面我能够工艺这段代码提供了答案。它不是完美的,但得到了那份工作做得相当不错
$EventIDs = (Get-WinEvent -FilterHashtable @{
"ProviderName"="Microsoft-Windows-Security-Auditing";
StartTime=(get-date).AddHours(-24);
Id=4625} | select RecordID).RecordID
Foreach ($r in $EventIDs) {
$EvXML = $null
[xml]$EvXML = (Get-WinEvent -LogName "Security" -FilterXPath "*[System[EventRecordID=$($r)]]").ToXML()
$Events = $null
$Events = For ($i=0; $i -lt $EvXML.Event.EventData.Data.Count; $i++) {
New-Object -TypeName psobject -Property (
[ordered]@{Name = $EvXML.Event.EventData.Data[$i].Name
Value = $EvXML.Event.EventData.Data[$i].'#text'}
)
}
write-host ($events | ? {$_.Name -eq "TargetUserName"}).value "|" ($events | ? {$_.Name -eq "TargetDomainName"}).value "|" ($events | ? {$_.Name -eq "IPAddress"}).value ":" ($events | ? {$_.Name -eq "IPPort"}).value
}
你的第一行可能会或可能不会选择一个事件其中'性能[1] -eq“无所谓”'你希望你的下一个步骤到一定的属性包含一定的值只作用于事件? – Clayton