wevtutil在批处理文件中

时间:2014-03-17 09:41:19

标签: batch-file event-log

这是我的批处理文件的一部分。我需要从Windows事件日志中查询系统事件33和34,如果它以100全双工或100半双工运行,则全部是关于NIC速度的。从事件日志XML获得查询。如果我运行命令来查询所有事件(Anytime),我得到了这么多结果,我所需要的只是结果最后一行的最新结果。

查询过去7天是一个更好的选择,因为它只给我1个结果(从GUI确认),如果我需要对许多远程PC运行查询,它会更快。但是从命令运行我得到"在位置2发生语法错误。无法打开事件查询。指定的查询无效。"

我想知道从eventvwr生成的查询是否有问题,或者我是否需要在此查询中转义一些特殊字符?

我的第二个选择是只使用Anytime查询并将最后一行写入文件。这部分我不知道如何批量创建。

任何时间:

wevtutil /r:%1 qe System "/q:*[System[Provider[@Name='e1kexpress'] and (Level=4 or Level=0) and (EventID=33 or EventID=34)]]"

过去7天

wevtutil /r:%1 qe System "/q:*System[Provider[@Name='e1kexpress'] and (Level=4 or Level=0) and (EventID=33 or EventID=34) and TimeCreated[timediff(@SystemTime) <= 604800000]]]"

2 个答案:

答案 0 :(得分:0)

你的第二个命令有两个问题(下面代码中的更正部分)

wevtutil /r:%1 qe System "/q:*[System[
Here is the first problem.....^

你错过了一个角色

TimeCreated[timediff(@SystemTime) <= 604800000]]]"
Here is the second problem........^

运营商为<=,而不是&lt;=

答案 1 :(得分:0)

可以预期XML字符串具有编码为XML实体的某些字符。 &LT;和&gt;保留用于XML标记。

命令行实用程序不需要执行该转换。

参考:https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML