这是我的批处理文件的一部分。我需要从Windows事件日志中查询系统事件33和34,这都是关于NIC速度的,如果它在100全双工或100半双工模式下运行。已从事件日志XML中获取查询。如果我运行命令来查询所有的事件(任何时候),我会得到如此多的结果,我所需要的就是结果的最后一行上的最新结果。
过去7天的查询是一个更好的选择,因为它只给我一个结果(从GUI确认),如果我需要对许多远程PC运行查询,它会更快。但是,从命令运行时,我得到“位置2处出现语法错误。无法打开事件查询。指定的查询无效。”
我想知道从eventvwr生成的查询是否有问题,或者我需要转义此查询中的一些特殊字符?
我的第二个选择是随时使用查询,并将最后一行写到文件中。这个部分我不知道如何批量创建。
任何时间:
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]]]"发布于 2014-03-17 17:58:50
您的第二个命令有两个问题(更正了下面代码中的部分)
wevtutil /r:%1 qe System "/q:*[System[
Here is the first problem.....^你漏掉了一个字符
TimeCreated[timediff(@SystemTime) <= 604800000]]]"
Here is the second problem........^运算符是<=,而不是<=
发布于 2014-10-23 20:37:00
可以预期的是,XML字符串将某些字符编码为XML实体。<和>保留用于XML标记。
命令行实用程序不需要执行该转换。
https://stackoverflow.com/questions/22450926
复制相似问题