の性質(System.Collections.Generic.IList)から、オブジェクトデータは、私は(1行目は、ちょうどライン2、私はイマイチ権利を知って、結構です)、これを実行しています:Powershell | Get-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
}
をしかし、再び、私はどこオブジェクトをその中に活用できるか見当がつかない:
また、私はこの方法で、同じデータへのアクセスを得ることができます。
select-object(foreachループでの処理と比較して)でそのデータを表示する方法を知っている人がいるかどうかも疑問に思っていました。
助けてくれる人には、どうもありがとう!
更新日: 以下の回答に基づいて、このコードを作成することができました。これは完璧なイマイチが、ジョブはかなりよくやっ取得
$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
}
あなたの最初の行では、 'Properties [1] -eq「何でも」というイベントを選択することもあれば、選択しないこともあります。特定のプロパティに特定の値が含まれているイベントに対してのみ、 – Clayton