我有一个evt格式的Windows 2003安全日志文件。 我需要通过EventID 540筛选日志,并从中生成唯一的用户列表。 我正在使用Windows 7机器来做到这一点。 任何想法的最佳途径?
编辑
这个剧本为我做了
$ErrorActionPreference= 'silentlycontinue' $users = @() Get-WinEvent -FilterHashtable @{Path="C:\TEMP\LogonLogoffEvents.evtx";ProviderName="security";id=540} | foreach { $sid = $_.userid; if($sid -eq $null) { return; } $objSID = New-Object System.Security.Principal.SecurityIdentifier($sid); $objUser = $objSID.Translate([System.Security.Principal.NTAccount]); if ($users -NotContains $objUser.Value) { $users += $objUser.Value $objUser.Value >> "C:\temp\users.txt" } }
PowerShell是你的朋友: 使用PowerShellparsing保存的事件日志