2011-12-30 6 views
1

powershellを使用してリモートコンピュータの "アプリケーション"と "システム"に記録されるエラーイベントの数をカウントする必要があります。私はこれを始めましたが、遠くには行きませんでした。Get-Eventログとカウントエラー

Get-EventLog -computername COMPUTER -Logname Application -EntryType Error | Measure-Object - エントリタイプ|フォーマット-表は、これは今非常にラフであり、2つの問題は、これまでのところ、テーブルのフォーマットは非常に便利なイマイチ上記のコマンドは、一度にログのONE種類を行うことで、

を数えます。

IDは、余分なヘッダーを持つようにして、Computername、Entrytype、Countを出力します。

どのようにして両方のイベントをリストし、余分なヘッダーをテーブルに入れることができますか?

ログファイルあたりのエラー数の迅速な表示のために

答えて

1
$info = foreach ($log in "application", "system") {get-eventlog -ComputerName $computername -LogName $log -EntryType error } 
$groupedinfo = $info | group-object machinename, entrytype 
$groupedinfo | select @{N="Computername";E={$_.name.split(',')[0]}}, 
         @{N="EntryType";E={$_.name.split(',')[1]}}, 
         count 
+0

ありがとう!私は夢のように働き、新しいことを学びました。 – Jake

1

$filter = "LogFile='application' OR LogFile='system' AND EventType=1" 

Get-WmiObject Win32_NTLogEvent -ComputerName COMPUTER -Filter $filter -Property ComputerName,LogFile,EventType | ` 
    Group-Object -Property LogFile -NoElement 
+0

EventTypeが私のバージョンのPowershell(v2)で認識され、ErrorTypeでは認識されなかったため、これは私にとってはうまく機能しました。乾杯! – fuzzyanalysis

-1

それは汚いし、単一の行に速いので、私は、少なくとも、カウントビットのために、使用しているもののサンプル:

$EventCount=0; Get-EventLog -LogName "Application" -EntryType "Information" | foreach{$_;$EventCount++}|Out-Null;"Total Events is:"+$EventCount 

out-null単に画面上に噴出し、この場合には、役に立たない情報を停止します。

関連する問題