Australian cloud for business software — built and run in Sydney since 2003

NetLeverage
NetLeverage

Group Policy Not Applying: gpresult, Events and SYSVOL

Technical article
Troubleshooting

Direct answer: When a Group Policy setting is missing on a server, decide first whether it is scope (the policy does not apply to that computer or user, including through loopback), processing (a run failed on network, authentication or resources) or replication (the domain controller used holds a different SYSVOL copy). Read the resultant set of policy for the affected user on the affected server, filter the Group Policy operational log to that user's run, then read SYSVOL state on the domain controllers. SYSVOL recovery methods are separate conditional procedures, not a ladder. Microsoft says of reinitialisation: "It's unnecessary in most cases, and it may cause data loss if done incorrectly."

Why it matters

Hosted servers rely on Group Policy for security baselines, mappings, folder redirection and Remote Desktop limits. When a policy stops applying, the symptom is far from the cause: a missing drive, a failed audit item, an old session limit. Microsoft's guidance starts with the event logs and the resultant set of policy, because they record what happened rather than what was intended.

How it works

Group Policy objects (GPOs) are linked to sites, domains and organisational units, with an object in Active Directory and files in SYSVOL on every domain controller. Client-side extensions apply the settings of the GPOs that apply.

  • Computer and user policy are separate passes, at startup or sign-in and on background refresh.
  • Each pass has its own activity ID. Microsoft states that the Group Policy service assigns a unique ActivityID to each instance of processing, and that computers running Terminal Services (Remote Desktop) "usually have more than one instance of Group Policy processing and operate simultaneously." Filtering by activity ID isolates one run.
  • Loopback ties user policy to the computer. Normally a user receives GPOs linked to the user object's location. When a computer GPO enables "Configure user Group Policy loopback processing mode", Merge mode adds the computer's GPO list after the user's (computer GPOs win), and Replace mode uses only the computer's list. Microsoft supports loopback only when both accounts are in Active Directory, and states that denying Apply Group Policy or Read on the computer object does not filter loopback user settings.
  • Some extensions do not apply in background refresh. The gpupdate reference documents /logoff and /boot for extensions that process only at sign-in or startup.
  • By default only changed policy is applied. gpupdate /force "reapplies all policy settings."
  • SYSVOL is replicated by DFS Replication (FRS in older domains); a stale or unshared copy gives old or missing policy files.

Read-only checks

None of these was run for this article. They read state; the optional HTML report writes a file, as noted.

1. Confirm the GPO and its link

In Group Policy Management, confirm the GPO contains the setting and is linked where you think (Microsoft's first step). Note whether it is Computer or User Configuration, and whether a GPO linked to the server's organisational unit enables loopback, and in which mode.

2. Read the resultant set of policy for the affected user

Read the user's result, not your own: gpresult without /user reports the account that runs it. Adapt the names in the documented form:

gpresult /s <server> /user <domain>\<affected-user> /scope user /r
gpresult /s <server> /scope computer /r

The user must have signed in to that server for user data to exist. Alternatively, run gpresult /scope user /r inside the affected user's own session.

The optional /h <filename> writes an HTML report where you specify, and /f forces an overwrite. Write it to a new folder outside system and application paths, never with /f, and keep earlier reports as evidence.

Read the report as follows:

  • A GPO denied by security or WMI filtering is a scope finding for the policy owner, not a failure.
  • Under loopback Replace, a GPO linked only to the user's location is absent by design.
  • Note the source domain controller; check SYSVOL there.

3. Read the Group Policy events for that run

In the System log, find Group Policy warnings and errors from the affected user's sign-in and take the ActivityID from the System node of the event details, as Microsoft's checklist describes.

Then filter the Group Policy operational log to that one run with Microsoft's custom view query, pasting the ActivityID in braces:

<QueryList><Query Id="0" Path="Application"><Select Path="Microsoft-Windows-GroupPolicy/Operational">*[System/Correlation/@ActivityID='{INSERT ACTIVITY ID HERE}']</Select></Query></QueryList>

Microsoft says to pair each starting event with its ending event across pre-processing, processing and post-processing, and investigate every warning and error. The log also lists applied and denied GPOs with reasons.

4. Match the event to a dependency

Microsoft documents these events:

Event Microsoft's description (abridged) What to check
1129 No network connectivity to a domain controller Microsoft's example: LDAP port 389 blocked
1006 LDAP Bind failed Details tab code: 5 access denied, 49 invalid credentials (for example an expired password), 258 timeout (check _ldap._tcp.<domain> with nslookup)
1030 Failed to retrieve new settings Name resolution and LDAP ports between server and domain controller
1002 System allocation failure Low memory or disk space on the server

For port checks Microsoft points to PortQry.

5. Read SYSVOL state on the domain controllers

If policy processed but settings are old or missing, read SYSVOL state on that controller and its partners. Microsoft's article on missing SYSVOL and Netlogon shares uses dsquery and wmic against the root\microsoftdfs class DfsrReplicatedFolderInfo. From Windows Server 2025, Microsoft states WMIC is a Feature on Demand to be removed, replaced by PowerShell; installing it is a change, so do not.

An untested PowerShell adaptation using documented Get-CimInstance parameters (it connects over WS-Management, which must be permitted):

Get-CimInstance -ComputerName <DC> -Namespace root\microsoftdfs -ClassName DfsrReplicatedFolderInfo -Filter "ReplicatedFolderName='SYSVOL share'" | Select-Object ReplicationGroupName, ReplicatedFolderName, State

State 4 is normal. For any controller in another state, read its DFS Replication event log. Microsoft names:

  • 2213: replication stopped after a dirty shutdown, waiting for recovery;
  • 4012: replication stopped because it failed for longer than MaxOfflineTimeInDays (content freshness);
  • 4614 without a later 4604: the controller is waiting to complete initial SYSVOL replication.

Confirm SYSVOL and Netlogon are shared on each controller. FRS domains follow the FRS migration guide.

Candidate causes

Cause Evidence Layer
GPO not linked, or linked to the wrong organisational unit Group Policy Management; GPO absent from the affected user's or computer's result Scope
Security filtering or WMI filter excludes the computer or user Denied GPO with reason in gpresult or the operational log Scope
Loopback Replace (or Merge precedence) changes the user's GPO list Loopback enabled in a computer GPO; user GPO absent from the user's result on that server Scope
Setting needs startup or sign-in Extension processes only in foreground; gpupdate reference Timing
Domain controller unreachable on LDAP Event 1129 or 1030 for the run Network
Authentication failure Event 1006 with code 5, 49 or 258 Identity or DNS
Low memory or disk Event 1002 Server resources
SYSVOL stale or not shared on the controller used Replicated folder state not 4; events 2213, 4012, 4614 Replication

Decision guidance

Everything here is a change or escalation, needs a change record, and was not executed for this article.

Scope findings (link, filter, loopback mode) belong to the policy owner; a change affects everyone in that scope, so agree the intended result first.

Dependency findings (network, DNS, credentials, resources) are fixed where the event points. Prove the setting at the right trigger: gpupdate for background settings, or the next sign-in or restart, in an agreed window, for foreground-only ones; read the new run's events.

Deeper logging. Microsoft documents debug logging through the GPSvcDebugLevel registry value and warns it can reduce performance and consume disk. Use it only when the logs above are insufficient, with the registry backed up and the value removed afterwards.

SYSVOL recovery is a referral decision. Microsoft's procedures are alternatives chosen by controller state. Each needs, first: every controller's state and events recorded; the topology known and a verified good source controller identified; a SYSVOL backup on each controller (files can move to PreExisting or Conflict and Deleted, which repeated initial synchronisation purges); and the domain owner's approval, with a directory specialist following Microsoft's article in full.

Controller state (from step 5) Microsoft's documented route Condition Microsoft attaches
Event 2213, content freshness not triggered ResumeReplication WMI method, as the 2213 event instructs With three or more controllers, know the topology and fan out from a healthy controller
Event 4012 on one or more controllers (content freshness) Non-authoritative synchronisation of each affected controller Back up its SYSVOL first; fan out from a healthy controller. "If only repairing one DC, make it non-authoritative and don't touch other servers."
Event 4012 on all controllers, state 5 Authoritative synchronisation of one controller, all others non-authoritative Microsoft calls this "the only situation" for an authoritative member, which must hold the most up-to-date SYSVOL; the procedure stops the DFS Replication service on every controller

Two-controller domains have their own section. Monitor DFS Replication health afterwards, as Microsoft advises.

What not to do

  • Do not diagnose a user complaint from your own gpresult, or judge a sign-in setting by a background refresh.
  • Do not try to exclude loopback user settings by denying rights on the computer object; Microsoft states that does not filter them.
  • Do not install WMIC or any tool during a read-only check.
  • Do not pick a SYSVOL recovery method before every controller's state is recorded, and never start with authoritative synchronisation.
  • Do not delete the DFS Replication database to clear an error; Microsoft discourages it.
  • Do not leave debug logging enabled.

Limitations

  • No command or query was run for this article; lab validation is outstanding.
  • The PowerShell replacement for Microsoft's WMIC query is an untested adaptation.
  • Loopback is described from Microsoft's loopback article only; its interaction with item-level targeting or individual extensions is not covered.
  • SYSVOL recovery is described at decision level only; the procedures themselves must be followed from Microsoft's articles by a specialist.

Acceptance checklist

  • [ ] The GPO holds the setting, is linked as intended, and loopback mode is known and intended.
  • [ ] gpresult for the affected user on the affected server lists the GPO as applied.
  • [ ] The operational log for that user's latest run has no unexplained warnings or errors.
  • [ ] Every domain controller reports SYSVOL replicated folder state 4 and shares SYSVOL and Netlogon.
  • [ ] The setting is visible after the right trigger (refresh, sign-in or restart).
  • [ ] Any debug logging enabled for diagnosis has been removed.

Sources

Displayed dates as shown when accessed on 30 October 2026.

Related articles

Learning notes

  1. Sort the problem into scope, processing or replication before changing anything.
  2. Read gpresult as the affected user on the affected server; your own result is different evidence.
  3. Loopback Replace means user GPOs come only from the computer's location.
  4. Filter the operational log by ActivityID; Remote Desktop hosts run many policy passes at once.
  5. SYSVOL recovery methods are alternatives chosen by recorded controller state, each with backups and a specialist.