event viewer - Not equal xPath query limitations -


i need find logs eventviewer in forwarded events based on computer name, excluding ones aren't interesting me.

my query that

*[(system[(computer!='comp1')]) ,  (system[(computer!='comp2')]) ,  (system[(computer!='comp3')]) ,  (system[(computer!='comp4')]) ,  (system[(computer!='comp5')]) ,  (system[(computer!='comp6')]) ,  (system[(computer!='comp7')]) ,  (system[(computer!='comp8')]) ,  (system[(computer!='comp9')]) ,  (system[(computer!='comp10')]) ,  (system[(computer!='comp11')]) ,  (system[(computer!='comp12')]) ,  (system[(computer!='comp13')]) ,  (system[(computer!='comp14')]) ,  (system[(computer!='comp15')])] 

this query works fine unless add 1 more condition

and [(computer!='comp16')]) 

after filter stops working , logs displayed. notice if put comp16 instead of comp15 or instead of comp12 works fine. problem not in new condition.

the situation opposite if use equality filter

(system[(computer='comp1')]) or  (system[(computer='comp2')]) or ... (system[(computer='comp15')]) or  (system[(computer='comp16')]) , on 

filter works fine larger queries.

so why not equal operator not work in large queries?

edit

filter eventrecordid has same problem

edit 2

<event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">  <system>   <provider name="microsoft-windows-security-auditing" guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />    <eventid>4624</eventid>    <version>1</version>    <level>0</level>    <task>12544</task>    <opcode>0</opcode>    <timecreated systemtime="2017-08-18t17:06:15.595105400z" />    <eventrecordid>1</eventrecordid>    <correlation />    <execution processid="584" threadid="7100" />    <channel>security</channel>    <computer>comp1</computer>    <security />   </system> <eventdata>   <data name="targetusername">username</data>    <data name="targetdomainname">domain</data>    ...   <data name="processname">-</data>    <data name="ipaddress">-</data>    <data name="ipport">-</data>   </eventdata> </event> 

you haven't shown xml, it's hard envisage xml structure on query makes sense.

consider simpler

*[(system[(computer!='comp1')]) ,    (system[(computer!='comp2')])] 

if there 1 system 1 computer, returns true if computer neither 'comp1' nor 'comp2'. if there more 1 system, or more 1 computer, , if computers not same value, there inevitably @ least 1 computer not 'comp1', , @ least 1 not 'comp2', , predicate therefore true.

usually when people write a!=b in xpath, should have written not(a=b).


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -