2011-12-30 65 views
1

我需要計算在使用PowerShell的遠程計算機的「應用程序」和「系統」下記錄了多少個錯誤事件。我已經開始這個,但還沒有到。獲取事件日誌和計數錯誤

Get-EventLog -computername COMPUTER -Logname Application -EntryType Error | Measure-Object -Sum Entrytype |格式表計數

這是非常粗略的,現在和這兩個問題至今是上面的命令一次只能做一種類型的日誌,並 表的格式心不是非常有用的。

我喜歡有額外的標題,所以它輸出Computername,Entrytype和Count。

如何獲取PowerShell列出兩個事件並在表中添加額外的標題?

回答

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 2012-01-02 05:53:22

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 2012-11-11 00:25:04

-1

什麼我使用,爲計數位至少,因爲它是骯髒和快速上一行的樣本:

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

out-null簡單地停止無用的信息,在這種情況下,噴涌到屏幕上。