在powershell中对事件日志进行排序

时间:2013-11-21 17:26:07

标签: powershell command

我正在使用一个命令来显示远程机器的事件日志并通过eventId对其进行过滤。我要做的是让它只显示我最近的X事件。像1,5,10一样,但是我指定了很多。我说使用-newest 5,但是当我尝试通过eventId过滤它们之后获取最新事件时,它不会让我这样做

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

基本上我想显示远程系统的特定EventID,并且只显示最近的5个。

1 个答案:

答案 0 :(得分:2)

如果您知道eventid的InstanceId,那么您可以这样做:

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和up iirc)的另一种方式,它使用了eventid:

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