2013-11-21 115 views
0

我正在使用一個命令來顯示遠程計算機的事件日誌並通過eventId對其進行過濾。我試圖做的是讓它只顯示最近的X事件。像1,5,10,但我指定的很多。我說,使用-newest 5,但是當我試圖通過EVENTID例如過濾後,他們獲得最新的事件,它不會讓我這樣做在PowerShell中對事件日誌排序

Get-EventLog system -computername c78572 | select eventid,machinename,timewritten | where {$_.eventid -eq 6009} | ft -autosize 

基本上我想顯示遠程系統的特定事件ID,並只顯示最近的5個。

回答

2

如果您知道事件ID的實例ID,那麼你可以這樣做:

Get-EventLog system -computername c78572 -InstanceId 2147489657 -Newest 5 

這是長版:

Get-EventLog system -computername c78572 | 
where {$_.eventid -eq 6009} | 
select eventid,machinename,timewritten -First 5 

下面是一個使用Get-WinEvent cmdlet的另一種方式(目標應該是Vista的和iirc),它使用eventid:

Get-WinEvent -FilterHashtable @{LogName='system';Id=6009} -MaxEvents 5 
+0

是EventID 6009具有相同的InstanceId每個單一時間?那麼你如何獲得InstanceId? – Aaron

+0

管一個6009事件fl和檢查其InstanceId屬性 –

+0

我也認爲我會堅持Get-EvenLog,因爲我需要獲取Windows XP設備和更高的事件。 – Aaron