Technical Anshu
Tutorials Blog
🔎 WMI Filters

WMI Filters in Group Policy Are Powerful Slow and Rarely the Right Tool

A WMI filter asks the target machine a question — are you a laptop, are you Windows 11, do you have more than 8 GB of RAM — and applies the GPO only if the answer is true. It is the most flexible targeting Group Policy offers, and the most casually abused.

✍️ Technical Anshu🪟 Windows Server / Active Directory⏱️ 8 minute read
🎥 Watch the full video — loopback processing and security filtering shown live in the Group Policy Management Console, step by step

Next to security filtering, WMI filters look like magic: no groups to maintain, the machine describes itself, the policy follows. The invoice arrives elsewhere. The query runs on the client at every policy refresh for that GPO, a sick WMI service turns the answer into a silent “no”, and the whole arrangement fails without a single honest error message. Used for the three or four jobs that genuinely need machine self-description, WMI filters are excellent. Used as a substitute for groups, they are a slow tax on every logon in the domain.

●●●A WMI filter, as stored on the GPO — example
WMI Filter: Laptops-Only Namespace ... root\CIMv2 Query ....... SELECT * FROM Win32_Battery Meaning ..... a battery object exists → this is a laptop-class machine → the linked GPO applies Rules of the mechanism: • One WMI filter per GPO — never two • Several queries inside one filter are combined with AND • The filter is evaluated on the CLIENT, at every refresh • Query fails or returns nothing → treated as FALSE → GPO skipped

Example filter — the classic battery test, used to aim power settings at laptops only.

1

What a WMI Filter Actually Is

A WMI filter is a WQL query stored in the domain (it lives in its own container in Group Policy Management, under WMI Filters) and linked to a GPO. At processing time the client runs the query against its own WMI repository. Any result means true — usually written as a SELECT against a class like Win32_OperatingSystem, Win32_Battery or Win32_ComputerSystem — and true means the GPO proceeds to the normal scope and security checks. False means the GPO is skipped for this refresh, recorded in reports as filtered out by the WMI filter.

Two structural limits shape everything: a GPO can carry exactly one WMI filter, and if that filter holds several queries, all of them must return true — they are ANDed together, never ORed. Want “laptops OR tablets”? You are already outside what one filter expresses cleanly.

2

The Real Costs — Time, Silence, Fragility

3

What It Genuinely Beats Groups At

Security filtering answers “who is this account”. WMI answers “what is this machine”, in ways no group membership knows:

For computer GPOs, be honest about the rival: putting the computer accounts into a group and filtering on it covers static truths (this is a server, this is a kiosk) with zero per-refresh cost. WMI earns its place only when the truth is dynamic or descriptive — something that changes, or that nobody wants to maintain by hand.

4

Test the Query Before You Link Anything

  1. On a representative target machine, run the query yourself first — in PowerShell, for example Get-CimInstance -Query "SELECT * FROM Win32_Battery" — and confirm it returns an object on machines that should match and nothing on machines that should not.
  2. Create the filter under WMI Filters in Group Policy Management, name it for its meaning (Laptops-Only, never Filter1), and paste the tested query.
  3. Link it to the GPO from the GPO's Scope tab, then force a refresh on one matching and one non-matching PC.
  4. Verify both with gpresult /h report.html: applied on the match, filtered out by WMI on the other. Both directions must be proven — a filter tested only where it applies has not been tested.
5

The House Rules

🔴 The honest summary: WMI filters trade a permanent, per-refresh cost on every client for targeting you may not need. If a group can say it, let a group say it. Save WMI for the questions only the machine itself can answer.

🎥 See Filtering Options Compared in the Video

The video puts security filtering in context — and knowing when a plain group beats a WMI query is exactly the judgement it builds.

▶️ Watch Full Video
❓ Common Questions (FAQ)

How many WMI filters can one GPO have?

One. A GPO links to a single WMI filter, though that filter can contain several queries — and all of them must return true for the GPO to apply, because multiple queries are combined with AND.

Why did my WMI filter stop working after an OS upgrade?

Because the facts it queries changed — build numbers moved, a class property was renamed, or the new OS reports the hardware differently. The filter was not edited; the truth underneath it moved. Re-run the query by hand on an upgraded machine and update the filter to match reality.

Is a WMI filter checked once, or at every refresh?

Every refresh. Each time Group Policy processes on the client, the filter is evaluated again, which is why WMI filters add ongoing processing cost while group-based security filtering is comparatively free.

This guide is based on the GPO loopback and security filtering video by Technical Anshu • Stuck on a step? Ask in the video comments — that is where answers come from 🙏