Solved

XML filtering Windows Event Viewer

Posted on 2016-11-01
10
36 Views
Last Modified: 2016-11-02
Hello,

I am having trouble getting my custom Event Viewer XML filter to work in Windows Server 2008 R2.

What I really want is this, but it does not suppress:

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
    <Select Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
      *
    </Select>
    <Suppress Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
      *[EventData[(RuleName='HP Networked Printer Installer')]]
    </Suppress>
  </Query>
</QueryList>

Open in new window


But even trying to debug with this does not work, returning no results:

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
    <Select Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
      *[EventData[(RuleName='HP Networked Printer Installer')]]
    </Select>
  </Query>
</QueryList>

Open in new window


I've tried several variations based on online tutorials with no luck. Any help would be much appreciated!
0
Comment
Question by:Filonowst
  • 5
  • 5
10 Comments
 
LVL 27

Expert Comment

by:BigRat
Comment Utility
I have no idea about this excepting that often when no results obtained the XPath path is incorrect.
I see that you are using

Microsoft-Windows-Windows Firewall With Advanced Security/Firewall

whereas the docs say

Windows Firewall with Advanced Security.

https://technet.microsoft.com/en-us/library/ff428140(v=ws.10).aspx

I'm not sure whether the "Microsoft" or the  "Windows" are required, and ought they to be
"Microsoft/Windows/Windows Firewall with Advanced Security/Firewall" or perhaps just "Windows Firewall with Advanced Security" (with the "with" in lower case)?

It may be (which IS the case in XPath) that the path is case sensitive.
0
 

Author Comment

by:Filonowst
Comment Utility
Thank you for the suggestion. I got this syntax from the defaults filter of this view:

Event viewer filter
When I used my select query (the second script from my OP) with slashes instead of dashes, I received an error message stating "The specified channel could not be found." Same error with the other variations you suggested. When I used my select query as shown above (the second script from my OP) , I receive no errors - just no results.
0
 
LVL 27

Expert Comment

by:BigRat
Comment Utility
Since you are selecting "*" (ie everything) try removing the /Firewall.
0
 

Author Comment

by:Filonowst
Comment Utility
I get the same channel not found error. I think the /Firewall is legitimate because it's a subsection of "Windows Firewall With...".

Event-Viewer-filter.png
0
 
LVL 27

Expert Comment

by:BigRat
Comment Utility
OK, I have tried to reproduce your queries on my machine.

The first one. I can't surpress the event since I don't have one.
The second query confirms that I don't have one.

One is effectively selecting Event nodes.

Are you certain that you have an EventData (under Event)  which has an element RuleName equal to something? All of my EventData elements only have Data elements with a Name attribute.
It seems to be that this predicate never matches everything :

[EventData[(RuleName='HP Networked Printer Installer')]]

My data as an example :
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-Windows Firewall With Advanced Security" Guid="{D1BC9AFF-2ABF-4D71-9146-ECB2A986EB85}" /> 
  <EventID>2010</EventID> 
  <Version>0</Version> 
  <Level>4</Level> 
  <Task>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x8000000000000000</Keywords> 
  <TimeCreated SystemTime="2016-11-02T10:10:20.538089700Z" /> 
  <EventRecordID>3388</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="2000" ThreadID="2548" /> 
  <Channel>Microsoft-Windows-Windows Firewall With Advanced Security/Firewall</Channel> 
  <Computer>Windows-7</Computer> 
  <Security UserID="S-1-5-19" /> 
  </System>
- <EventData>
  <Data Name="InterfaceGuid">{0510C065-0C85-4CD9-968B-4CB7F543A67E}</Data> 
  <Data Name="InterfaceName">ethernet_21</Data> 
  <Data Name="OldProfile">4</Data> 
  <Data Name="NewProfile">2</Data> 
  </EventData>
  </Event>

Open in new window

0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:Filonowst
Comment Utility
This is what I'm trying to filter out:
Event-Viewer-filter.png
I have a related but separate problem that prefaces this filtering issue, which is that this log is littered with these entries. A new one is created every 10 seconds or so. I don't have an HP printer installed on this server and I've deleted all traces of HP devices from the registry, so I don't know where it's coming from.

That said, I want to see what happened two days ago at around 9pm, and all I can find are these entries, so even if I solve the problem going forward, I am left with the need for this filter.

Your help is much appreciated.
0
 
LVL 27

Accepted Solution

by:
BigRat earned 500 total points
Comment Utility
Aha, it's just a problem of getting the predicate right. First we'll try to filter out what we want to suppress.

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
    <Select Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
      *[EventData/Data='HP Networked Printer Installer']
    </Select>
  </Query>
</QueryList>

Open in new window


This should select all those events which contain a Data element about the printer. Try that first.
0
 

Author Comment

by:Filonowst
Comment Utility
It appears to have worked. Using that filter, I still see events and spot checking they all appear to have that 'HP' string contained within.

If the suppress query should then be:

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
    <Select Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
      *
    </Select>
    <Suppress Path="Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
      *[EventData/Data='HP Networked Printer Installer']
    </Suppress>
  </Query>
</QueryList>

Open in new window


... then I believe I have determined that there are no other records in this log besides the HP Printer records, because this filter displays no results.
0
 
LVL 27

Expert Comment

by:BigRat
Comment Utility
That could very well be the case. Unfortunately it's cheese time here, so I'm off to have dinner. Have a look at the results and I'll see you tomorrow.
0
 

Author Comment

by:Filonowst
Comment Utility
Thank you very much for the assistance!
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

I was supporting a handful of Windows 2008 (non-R2) 2 node clusters with shared quorum disks. Some had SQL 2008 installed and some were just a vendor application that we supported. For the purposes of this article it doesn’t really matter which so w…
A procedure for exporting installed hotfix details of remote computers using powershell
This tutorial will give a short introduction and overview of Backup Exec 2012 and how to navigate and perform basic functions. Click on the Backup Exec button in the upper left corner. From here, are global settings for the application such as conne…
This tutorial will walk an individual through the steps necessary to enable the VMware\Hyper-V licensed feature of Backup Exec 2012. In addition, how to add a VMware server and configure a backup job. The first step is to acquire the necessary licen…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now