一般的にエラー1000が発生しているサーバーがいくつかあります。いつも同じアプリケーションなのか、違うアプリケーションなのかを知りたい。私はこれを使用しています:
Get-EventLog application 1000 -entrytype error -newest 10 | select timegenerated,message | Export-Csv errors.csv
出力には、複数行のメッセージフィールドの一部としてアプリケーション名(具体的にはexeファイル)が表示されます。
出力からアプリケーション名だけを抽出する方法がわかりませんでした。
出力をGet-Memberにパイプすると、メッセージフィールドが配列のように見えますが、現時点では、配列のその部分を抽出する方法がわかりません。
Get-EventLog application 1000 -entrytype error -newest 10 | %{$_.machinename,$_.timegenerated,$_.ReplacementStrings[0]}
これにより、3行で生成され、Export-CSVが適切に解析したくないことを除いて、必要な出力が得られます。どうすればそれらすべてを1行にまとめることができますか?
すべてのイベントタイプで正確になるとは限りませんが、プロパティReplacementStrings
は配列であり、InstanceID1000を見ると最初の要素が実行可能ファイルの名前です。
> Get-EventLog application 1000 -entrytype error -newest 10 | %{$_.ReplacementStrings[0]}
Ssms.exe
Ssms.exe
Ssms.exe
uniStudio.exe
SwyxIt!.exe
Ssms.exe
uniRTE.exe
uniStudio.exe
Ssms.exe
Ssms.exe
私のPS-fooは午前中は弱いですが、それをselect
コマンドと組み合わせて、CSVにエクスポートする方法があると確信しています。
あなたの更新に従って;これにより、必要な出力が表形式で取得されます。 export-csv
でどれだけうまく機能するかはわかりませんが:
Get-EventLog application 1000 -entrytype error -newest 10|Format-Table @{Expression={$_.machinename};Label="Machine Name";width=25},@{Expression={$_.timegenerated.DateTime};Label="DateTime";width=25},@{Expression={$_.ReplacementStrings[0]};Label="EXEName";width=25}
気にしないで;前回のアップデートでは複雑すぎました。これは問題なく機能するはずです(私はその日の後半に良くなることを知っていました):
> Get-EventLog application 1000 -entrytype error -newest 10|Select-Object timegenerated,message,@{name='Executable';expression={$_.ReplacementStrings[0]}}|Export-CSV errors.csv
TimeGenerated Message Executable
------------- ------- ----------
14/01/2014 7:23:13 AM Faulting application name: Ssms.exe,... Ssms.exe
13/01/2014 7:26:44 AM Faulting application name: Ssms.exe,... Ssms.exe
10/01/2014 7:30:24 AM Faulting application name: Ssms.exe,... Ssms.exe
8/01/2014 5:25:13 PM The description for Event ID '1000' ... uniStudio.exe
31/12/2013 3:09:58 PM The description for Event ID '1000' ... SwyxIt!.exe
19/12/2013 7:35:21 AM Faulting application name: Ssms.exe,... Ssms.exe
18/12/2013 2:55:45 PM Faulting application name: uniRTE.ex... uniRTE.exe
18/12/2013 9:25:49 AM The description for Event ID '1000' ... uniStudio.exe
18/12/2013 7:32:29 AM Faulting application name: Ssms.exe,... Ssms.exe
16/12/2013 1:22:38 PM Faulting application name: Ssms.exe,... Ssms.exe