Windows事件日志,你可以xpath过滤字符串不等于?

时间:2018-03-19 10:48:58

标签: xpath filter event-viewer

是否有办法过滤某些属性不是Windows中的给定字符串的事件(Server 2016)事件查看器的XPath有限方言?

我试图查看登录事件,但只查看实际用户登录(控制台和RDP)。

这被接受为过滤器,但结果太多,好像忽略了最终的AND术语:

<QueryList> <Query Id="0" Path="Security"> <Select Path="Security">
    *[System[(EventID=4624)]]
and *[EventData[Data[@Name='LogonType'] and (Data=1 or Data=8 or Data=9)]]
and *[EventData[Data[@Name='TargetUserName'] and (Data!='SYSTEM')]]
</Select> </Query> </QueryList>

当我将第三个测试更改为此时,它会被标记为&#34;无效的查询&#34;。

and not *[EventData[Data[@Name='TargetUserName'] and (Data='SYSTEM')]]

然而我找到了另一个XPath问题的答案,该问题表明更喜欢这种形式,因为当比较的一侧是一组而不是一个值时,!=给出了错误的结果。

同样的,无效的查询

and *[EventData[Data[@Name='TargetUserName'] and not (Data='SYSTEM')]]

或者

and *[EventData[Data[@Name='TargetUserName'] and !(Data='SYSTEM')]]

2 个答案:

答案 0 :(得分:1)

您的查询应如下所示:

$(".icon").click(function() {
  $(".text").slideUp(500).delay(500);
  $(".icon").removeClass("selected");
  $(this).toggleClass("selected");
  $(".text").eq($(this).index()).delay(500).queue(function(nxt) {
      $(this).slideDown(300);
      nxt();
})

});

压制是秘密

答案 1 :(得分:0)

您被常见但错误的示例所吸引。您的第一个DataEvent搜索将要求包含“ LogonType”元素的记录,并且在任何元素中还具有值1或8或10。它不限于检查“ LogonType”元素。发生这种情况是因为只有“ LogonType”元素包含这些值。

要匹配您编写的任何元素

Data=1

要匹配特定元素,您需要编写:

Data[@Name='SpecificType']=1

每个值,因此查询应显示为:

*[EventData[ (Data[@Name='LogonType']=1 or Data[@Name='LogonType']=8 or Data[@Name='LogonType']=9)]]

第二个EventData部分正在询问具有与“ SYSTEM”不匹配的数据值的任何记录,这就是为什么它返回所有记录的原因。应该是:

*[EventData[Data[@Name='TargetUserName']!='SYSTEM']]

您可以将两者结合在一起

*[EventData[ (Data[@Name='LogonType']=1 or Data[@Name='LogonType']=8 or Data[@Name='LogonType']=9) and Data[@Name='TargetUserName']!='SYSTEM']]