我找不到使用Powershell或WMI从应用程序日志中提取“错误进程ID”的方法。以下返回错误,但对于其他一些代码,我需要实际的PID,而不是应用程序名称。可以这样做吗?
Get-EventLog application 1000 -entrytype error -newest 5 | Select-Object timegenerated,message,@{name='Executable';expression={$_.ReplacementStrings[0]}}
答案 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中,对我来说今天要晚了。