如何从文件中过滤 Windows 2003 安全日志?

如何从文件中过滤 Windows 2003 安全日志?

我有一个 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"
    }
}

答案1

相关内容