我需要從Windows 7工作站中提取本地登錄/註銷列表。我以evtx格式獲得了安全事件日誌的保存副本,並且遇到了一些問題。使用PowerShell提取登錄/註銷事件
下面的PowerShell提取所有的事件ID爲4624
或4634
:
Get-WinEvent -Path 'C:\path\to\securitylog.evtx' | where {$_.Id -eq 4624 -or $_.Id -eq 4634}
我想那麼只有logon type = 2 (local logon)
過濾。配管這:
| where {$_.properties[8].value -eq 2}
但是似乎刪除所有id=4634
(註銷)事件。
即使事件id = 4624
事件,也沒有用戶ID存在。例如管道到:
| select-object -property Timecreated,TaskDisplayName,MachineName,userid
或以其它方式配管Export-Csv
,所述userid
是空白的。
兩個問題是:
- 爲什麼當管道輸送到這裏
{$_.properties[8].value -eq 2}
與ID 4634滴的事件? - 爲什麼
userid
是空的?我怎樣才能得到userid
?
感謝您的 - 此命令的工作來提取的事件: GET-WinEvent -Path 'C:\路徑\爲\ securitylog.evtx' |其中{($ _。Id -eq 4624-和$ _。properties [8] .value -eq 2) - 或($ _。Id -eq 4634-和$ _。properties [4] .value -eq 2) } 有沒有辦法通過XML元素名稱來引用屬性元素? 另外,我如何實際打印出屬性數組的值?選擇對象允許我打印屬性(例如select-object -property TTimecreated,TaskDisplayName,MachineName),但我似乎無法弄清楚如何從屬性數組中打印特定的元素。 – cuvy