Support
 
Phone Live Chat
 
Support
 
US: +1 888 720 9500
 
Intl: +1 925 924 9500
Aus: +1 800 631 268
UK: 0800 028 6590
CN: +86 400 660 8680

Direct Inward Dialing: +1 408 916 9393

 
 
 
 
 
Features

Group Policy issues don't always produce obvious warnings. Instead, a setting just stops functioning, requiring you to work backward from the problem to identify the root cause. This guide outlines a step-by-step diagnostic approach using native Windows Server tools, addressing common failure scenarios such as security filtering, WMI exclusions, SYSVOL replication delays, and client-side extension problems.

Why GPO troubleshooting matters

A Group Policy Object that does not apply as expected can break login scripts, leave drive mappings missing, prevent software from installing, or quietly weaken a security baseline that you expected to be enforced. The frustrating part is that the failure is often not immediately obvious. The setting is simply absent on the target machine, and you have to work backward from the symptom to find the cause.

The good news is that Group Policy has a fairly small number of failure modes: the GPO is not linked where you think it is, security filtering or WMI filtering is excluding the target. In addition, inheritance is being blocked, the client-side extension failed, the domain controller could not be reached, or replication has not caught up. Walking through a fixed checklist almost always identifies the cause within a few minutes. This guide covers that checklist in order, using the tools built into Windows Server. It also includes a brief section on how ADManager Plus can simplify GPO management tasks at scale.

Prerequisites

Step 1: Run gpresult to see what actually applied

gpresult is the first command to run on the affected machine. It reads the local policy cache and reports which GPOs were applied, which were filtered out, and which filtering rule caused the exclusion.

  1. Open Command Prompt as administrator on the affected machine.
  2. Run the summary view: gpresult /r
  3. For a richer, browser-readable report, generate the HTML version: gpresult /h C:\gpresult.html
  4. Open gpresult.html and review two sections in particular:
    • Applied Group Policy Objects, listing the GPOs that were processed.
    • The following GPOs were not applied because they were filtered out, listing the GPOs that were skipped along with the reason (denied permission, WMI filter mismatch, empty, or disabled link).

If the GPO you expected to see is not in the applied list, the report usually identifies the rule that excluded it. This resolves many GPO not applying cases.

Note: gpresult reflects the state at the last refresh. Run gpupdate /force first if you have just changed a GPO and want the report to reflect the new state.

Step 2: Use the Group Policy Results Wizard for full RSoP

Step 3: Check the Event Viewer for Group Policy errors

Step 4: Verify scope, links, security filtering, and inheritance

Step 5: Force a refresh and re-test

Step 6: Enable verbose GPSvc logging for deep-dive diagnosis

Step 7: Use GPO Modeling for what-if scenarios

Common GPO issues and how to fix them

Symptom Likely cause Fix
GPO not in the applied list on gpresult Security filtering or WMI filter excludes the target Review the Scope tab; add the target to the security filter group or correct the WMI filter
GPO listed as Empty The GPO has no configured settings Edit the GPO in the GPMC and configure at least one setting, or delete the empty link
GPO applies inconsistently across machines SYSVOL replication is lagging Check DFSR replication health on the domain controllers
Settings revert after every refresh A higher-precedence GPO is overriding Use the Group Policy Results report to identify the winning GPO and adjust link order or enforcement
Folder redirection or software install GPO does not take effect Setting requires logoff or restart Log off and back on (user) or reboot (computer); gpupdate /force alone is not enough for these
New GPO does nothing on a new machine Slow-link detection treated the connection as a slow link Check the Group Policy operational log for slow-link events; adjust the slow-link threshold if needed
Drive maps disappear after a reboot Item-level targeting condition no longer matches Open Group Policy Preferences and verify the targeting on the drive map item
GP fails with Event ID 1129 and gpsvc.log shows GetLdapHandle: Failed to connect <DC> with 81 LDAP port 389 is blocked between the client and DC Capture a network trace to confirm TCP handshake failure on port 389; engage the network team to unblock the port
GP fails with Event ID 1006 and error code 258 (Timeout) Incorrect DNS configuration preventing DC lookup Use nslookup to verify _ldap._tcp.<domain> records resolve correctly
GP fails with Event ID 1097 Time skew greater than 5 minutes between client and DC Run w32tm /resync to force time synchronization; check for time zone misconfigurations
GP fails with Event ID 1002 Machine is low on memory or disk space Free up resources; restart the computer if it has been running for an extended period
GP fails with Event ID 1053 and error code 525 User lacks read access to the OU containing their object Grant the user (or computer) read permission on the appropriate OU
GP fails with Event ID 1053 and error code 1727 RPC communication to the DC is blocked by a firewall Check third-party firewall rules; temporarily disable and test to confirm

Collecting diagnostic data before contacting Microsoft Support

If the above steps do not resolve the issue, collect the following before opening a support case:

Click to copy script
:: 1. Enable GPSvc verbose logging md %windir%\debug\usermode reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" /v GPSvcDebugLevel /t REG_DWORD /d "0x00030002" /f :: 2. Force a GP refresh gpupdate /force :: 3. Save RSoP reports gpresult /h %Temp%\GPResult.htm gpresult /r > %Temp%\GPResult.txt :: 4. Export GPExtensions registry key reg export "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions" %Temp%\GPExtensions.reg :: 5. Export event logs wevtutil.exe export-log Application %Temp%\Application.evtx /overwrite:true wevtutil.exe export-log System %Temp%\System.evtx /overwrite:true wevtutil.exe export-log Microsoft-Windows-GroupPolicy/Operational %Temp%\GroupPolicy.evtx /overwrite:true

Provide Microsoft Support with:

  • %Temp%\Application.evtx
  • %Temp%\System.evtx
  • %Temp%\GroupPolicy.evtx
  • %Temp%\GPExtensions.reg
  • %Temp%\GPResult.txt and GPResult.htm
  • %windir%\debug\usermode\gpsvc.log

When finished, disable verbose logging:

Click to copy script
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" /v GPSvcDebugLevel /t REG_DWORD /d "0x00000000" /f

Managing and troubleshooting GPOs at scale with ADManager Plus

The native steps above work well when you are troubleshooting a single GPO on a single machine. In larger environments, routine GPO management can become time-consuming, especially when you need to identify unlinked GPOs, empty GPOs, or stale GPOs across multiple domains. ADManager Plus can help reduce manual effort for those administrative tasks.

  • Bulk GPO linking: Link a GPO to multiple OUs in a single action rather than repeating each link manually in GPMC. This is useful when a policy needs to apply across many containers at once.
  • Link order management: Adjust GPO precedence directly from the web UI when a conflicting policy is overwriting the intended one, ensuring the correct configuration wins without opening GPMC.
  • On-demand policy refresh: Trigger an immediate GPO refresh on selected computers without logging into each machine individually, useful for confirming a policy change has propagated after adjusting a link or filter.
  • GPO replication: Copy a GPO to another domain in a multi-forest environment without rebuilding its settings from scratch, keeping configurations consistent across domains.
  • Application visibility: Use reports like GPO Settings to confirm settings are configured correctly across all GPOs in one view, and Resultant set of policy to verify a policy actually applied to a specific user or computer.
  • Delegation oversight: Scope GPO refresh and reporting tasks to help desk technicians through role-based delegation, so staff can investigate and resolve GPO issues without needing Domain Admin rights or RSAT installed.

Frequently asked questions

How to troubleshoot GPO issues?

Start by running gpresult /r on the affected machine to see which GPOs applied and which were filtered out. Then check the Group Policy operational log in Event Viewer, verify the GPO's scope (links, security filtering, WMI filters, and inheritance), and force a refresh with gpupdate /force.

What are the 7 troubleshooting steps?

  1. Run gpresult to see applied and filtered GPOs
  2. Use the Group Policy Results Wizard for full RSoP analysis
  3. Check Event Viewer for Group Policy errors
  4. Verify scope, links, security filtering, and inheritance
  5. Force a refresh with gpupdate /force and re-test
  6. Enable verbose GPSvc logging for deeper diagnosis
  7. Use GPO Modeling for what-if scenario testing before making changes

What is the troubleshooting command for Group Policy?

The two primary commands are gpresult /r (summary of applied and filtered GPOs) and gpupdate /force (forces an immediate policy refresh). For a detailed HTML report, use gpresult /h C:\gpresult.html.

How to check if a GPO is active?

Run gpresult /r on the target machine and look under Applied Group Policy Objects. If the GPO appears there, it is active. If it appears under the filtered list instead, the output will show the reason it was excluded. You can also use the Group Policy Results Wizard in GPMC for a graphical view.

What to do if gpupdate fails?

Check the Group Policy operational log in Event Viewer (Applications and Services Logs > Microsoft > Windows > GroupPolicy > Operational) for the specific error. Common causes are network connectivity to the domain controller, LDAP port 389 being blocked, DNS resolution failures, or time skew greater than 5 minutes between the client and DC. Enable GPSvc debug logging for a detailed trace if the event log alone is not enough.

How do I reset all group policies?

To reset local Group Policy settings on a machine, delete the contents of %windir%\System32\GroupPolicy and %windir%\System32\GroupPolicyUsers, then run gpupdate /force. This removes locally cached policy and forces a clean reapplication from the domain. This resets local policy only. Domain GPOs will reapply at the next refresh.

Streamline AD management with ADManager Plus

ADManager Plus Trusted By

The one-stop solution to Active Directory Management and Reporting