我有这个命令:
wevtutil qe System /rd /f:Text | findstr "4800 4801"
尽管我只对第一行输出感兴趣,但它还是花了很长时间才能完成。
我知道wevutil
有一个/c:1
标志,但如果我使用它,例如:
wevtutil qe System /rd /f:Text /c:1 | findstr "4800 4801"
然后什么都没有输出。
原因是/c:1
标志表示只返回一行,但命令findstr
随后应用,从而过滤掉相关事件代码。因此,除非偶然其中一个事件代码恰好是最新事件,否则输出将为空。
如何/c:1
在应用事件过滤后应用,以保证只显示那些事件(永远不会显示任何内容)?
也就是说,我不想限制wevtutil
命令获取的行数——我想限制命令最终得到的行数输出。每次运行此命令都要花费很多秒的时间,我需要它几乎是即时的。如果它在第一个(相关)记录后停止,它可能会几乎是即时的。
据我所知,webtutil
它本身没有“findstr”的能力,这就是为什么帮助我弄清楚这个命令的人将输出传输到findstr
...
答案1
您没有正确使用 /c: 标志。这是活动来显示,而不是线条。 https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wevtutil#options
/k 标志会起作用吗?它用于过滤日志,如上面的链接所述。