The error: A Group Policy Object works correctly for most of the domain, but one specific OU (or a subset of computers within it) never receives it — no error, it just silently doesn't apply.
Environment: Any Windows Server Active Directory domain using Group Policy.
Why this happens: GPO application is filtered by three independent mechanisms — security filtering (which groups/users the GPO applies to), WMI filtering (which machines match a condition), and OU linking/inheritance (including a Block Inheritance setting on the OU itself). Any one of these silently excludes a target with no error anywhere in the UI — it just looks like the GPO "isn't working" for that scope.
The fix:
- Run
gpresult /rdirectly on an affected machine — this shows exactly which GPOs actually applied and, critically, which were filtered out and why. - Check security filtering on the GPO itself: does the affected OU's computer/user group actually have Read + Apply Group Policy permissions?
- Check for a WMI filter attached to the GPO — a filter written for one OS version silently excludes machines that don't match.
- Check the OU itself for Block Inheritance, and check GPO link order/enforcement further up the tree.
One thing worth knowing: gpresult /r is the fastest path to the actual answer here — checking GPO links and filters one by one in the GPMC console, without first seeing what Windows itself says was filtered, wastes time confirming things that were already fine.