2016-11-28 8 views
1

PowershellまたはWMIを使用してアプリケーションログから "faulting process ID"を引き出す方法が見つかりません。次のコードはエラーを返しますが、いくつかのコードではアプリケーション名ではなく実際のPIDが必要です。これはできますか?アプリケーションログから "faulting process id"を抽出する

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

PIDはMessageにしか記録されていないので、Messageプロパティを取得し、regexのようなものを使用して "Process ID:* \ rn"をキャプチャする必要があります –

答えて

1

これは私が私のためにそれが後半に今日の、テーブル/ notepropertyにこれを入れたいあなたに正規表現(名前付きキャプチャグループ)

$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 
    } 
} 

でスタートを与える必要があります。

関連する問題