我需要计算使用PowerShell在远程计算机的“应用程序”和“系统”下记录的错误事件数。我已经开始了,但没有走得太远。
Get-EventLog -computername COMPUTER -Logname Application -EntryType Error | Measure-Object -Sum Entrytype |格式 - 表计数
现在这非常粗糙,到目前为止的两个问题是上面的命令一次只能执行一种类型的日志,并且 表的格式不是很有用。
我希望有额外的标题,因此它会输出Computername,Entrytype和Count。
如何让PowerShell列出这两个事件并在表中添加额外的标题?
答案 0 :(得分: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
答案 1 :(得分: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
答案 2 :(得分:-1)
我使用的样本,至少是计数位,因为它在一行上很脏且很快:
$EventCount=0; Get-EventLog -LogName "Application" -EntryType "Information" | foreach{$_;$EventCount++}|Out-Null;"Total Events is:"+$EventCount
out-null
只会停止无用的信息,在这种情况下,会喷到屏幕上。