在PowerShell中获取事件日志
问题描述:
我正在使用PowerShell来搜索应用程序的特定错误。我的代码正在工作,但在输出中是重复的eventID,消息等。我只需要一种消息。可能吗?在PowerShell中获取事件日志
$date=(Get-Date).AddDays(-5)
$file = New-item -type file "C:\event.txt" -force
Get-EventLog -LogName 01-D -EntryType Error -After $date |
Where {$_.EventId -eq 1 -or $_.EventId -in 3..13371 -or $_.EventId -in 13373..21003 -or $_.EventId -in 21005..21007 -or $_.EventId -in 21009..49498 -or $_.EventId -in 49500..53519 -or $_.EventId -in 53521..62200 -or $_.EventId -in 62202..64494 -or $_.EventId -in 64496..99999 -and $_.EventId -ne 21050} |
Sort-Object eventid | format-list -Property EventId,MachineName,EntryType, Message | out-file $file -Encoding default
答
则可以使用选择对象与-unique参数或一组对象与-noelements参数,让你可以计算每个事件
使用的'-unique'参数[选择 - 的出现次数对象(https://technet.microsoft.com/en-us/library/hh849895.aspx) –