从应用程序日志中提取“错误进程id”

时间:2016-11-28 23:05:54

标签: powershell event-log

我找不到使用Powershell或WMI从应用程序日志中提取“错误进程ID”的方法。以下返回错误,但对于其他一些代码,我需要实际的PID,而不是应用程序名称。可以这样做吗?

Get-EventLog application 1000 -entrytype error -newest 5 | Select-Object  timegenerated,message,@{name='Executable';expression={$_.ReplacementStrings[0]}}

1 个答案:

答案 0 :(得分:1)

这应该为您提供RegEx(命名捕获组)

的开始
$log = Get-EventLog application 1000 -entrytype error -newest 5 | 
  Select-Object  timegenerated,message,@{name='Executable';expression={$_.ReplacementStrings[0]}}
$log | %{
  if ($_.message -match '(?smi)Faulting process id: (?<PID>0x[0-9a-f]+)'){
    $_.Executable,$matches.PID
  }
}

我把它放到一张桌子/ noteproperty中,对我来说今天要晚了。