When gpupdate reports that policy could not be updated, the useful detail is in the System log: a Group Policy event such as 1058, 1030 or 1129, plus an error code on the event's Details tab. This reference lists the processing errors Microsoft documents, what each one means, the usual cause and the first check, then the gpupdate and gpresult messages, the SceCli 1202 security policy warnings and a short routine to prove the fix.
Codes in this quick reference
Event ID 1129 (GroupPolicy): processing failed because of lack of network connectivity to a domain controllerEvent Viewer (System log)Event ID 1030 (GroupPolicy): Windows attempted to retrieve new Group Policy settings and failedEvent Viewer (System log)Event ID 1058 (GroupPolicy): Windows attempted to read gpt.ini from a domain controller and was not successfulEvent Viewer (System log) / gpupdateEvent ID 1058 with error code 3: the system cannot find the path specifiedEvent Viewer (System log, Details tab)Event ID 1058 with error code 5: access is denied reading the gpt.ini pathEvent Viewer (System log, Details tab)Event ID 1058 with error code 53: the network path wasn't foundEvent Viewer (System log, Details tab)Event ID 1006 (GroupPolicy): could not authenticate to Active Directory (LDAP Bind function call failed)Event Viewer (System log)Event ID 1006 with error code 5: access is denied (no permission to access Active Directory)Event Viewer (System log, Details tab)
+ 19 more codes in the tables below.
Note: A Group Policy error is often a symptom. If SYSVOL isn't replicating, start with the SYSVOL replication events reference; for Netlogon, DNS and directory service events on the domain controllers, see Active Directory event IDs; for repadmin status codes, see AD replication errors.
How to read these codes#
- System log: in Event Viewer, open Windows Logs › System and filter on the source
Microsoft-Windows-GroupPolicy. Errors describe the failure and its probable causes; warnings point to something that needs attention before it fails. - Details tab: the event names the domain controller it used and an error code, shown in decimal with its description. The same event ID has several causes, so the error code decides the fix. The User field shows the user name for user policy and SYSTEM for computer policy.
- Operational log: Applications and Services Logs › Microsoft › Windows › GroupPolicy › Operational records every step of a cycle, including the GPOs that applied and the ones that were denied, with the reason. Starting events pair with ending events (4016 when a client-side extension starts, 5016 when it completes successfully), so the step without a good ending is where processing broke.
- gpupdate and gpresult:
gpupdate /forceprints the same message as the event;gpresult /h gp.htmlfrom an elevated prompt shows applied and denied GPOs and the errors of the last cycle.
Each refresh gets its own ActivityID. Copy it from the System event (Details › Friendly view › System), then create a custom view (Custom Views › Create Custom View › XML, check Edit query manually) that shows only that cycle:
<QueryList><Query Id="0" Path="Application"><Select Path="Microsoft-Windows-GroupPolicy/Operational">*[System/Correlation/@ActivityID='{INSERT ACTIVITY ID HERE}']</Select></Query></QueryList>Recent Group Policy errors and warnings from PowerShell, and Group Policy service debug logging for when the events aren't enough (the usermode folder must exist, or no gpsvc.log is written):
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-GroupPolicy'; Level=2,3} -MaxEvents 20 |
Format-List TimeCreated, Id, LevelDisplayName, Message
New-Item -Path "$env:windir\debug\usermode" -ItemType Directory -Force | Out-Null
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" /v GPSvcDebugLevel /t REG_DWORD /d 0x00030002 /f
gpupdate /force # then read %windir%\debug\usermode\gpsvc.logSystem log errors: reaching the domain controller and SYSVOL#
The Group Policy service logs these on the client, or on a domain controller processing its own policy. Windows retries at the next refresh cycle, so a single event after a reboot or VPN change can be transient; a repeating one is not.
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
1129 | Processing failed because of lack of network connectivity to a domain controller; a success event follows once it connects | LDAP (TCP 389) to the domain controller blocked or not yet available | gpsvc.log line below; Test-NetConnection <DC> -Port 389 |
1030 | Windows attempted to retrieve new Group Policy settings for this user or computer and failed; the reason is on the Details tab | Name resolution or network connectivity to a domain controller, LDAP ports closed | LDAP ports open on network and host firewalls (PortQry or Test-NetConnection) |
1058 | Windows attempted to read gpt.ini for a GPO from a domain controller and was not successful | Name resolution or connectivity to that DC, SYSVOL replication latency (the GPO folder hasn't reached that DC), or a disabled DFS client | Open \\<dcName>\SYSVOL\<domain>\Policies\<guid>\gpt.ini as the failing account; read the error code |
1006 | Windows could not authenticate to Active Directory on a domain controller (LDAP Bind function call failed) | Permissions, stale credentials or DNS, depending on the error code | Details tab error code (next table) |
1053 | Windows could not resolve the user name | Name resolution failure on the current DC, or a new account that hasn't replicated to it | Details tab error code (next table) |
1097 | Windows could not determine the computer account to enforce Group Policy settings; computer settings aren't enforced | The computer can't authenticate, typically a clock more than five minutes off the DC or a wrong time zone | w32tm /resync, check the time zone, restart |
1002 | Processing failed because of a system allocation failure | The computer is low on memory or disk space | Free memory and disk; restart a computer that has run for a long time |
Error codes on the Details tab#
Microsoft documents these codes for 1058, 1006 and 1053. Test as the account that failed: SYSTEM (the computer account) for computer policy, the signed-in user for user policy.
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
1058 + 3 | The system cannot find the path specified | The GPO folder named in the event isn't on that DC, usually SYSVOL replication | Compare the Policies folder across DCs; fix replication first |
1058 + 5 | Access is denied | The user or computer can't read the path | Read permissions on the GPO folder on that DC; sign out, restart, sign in again |
1058 + 53 | The network path wasn't found | The client can't resolve the name in the path | Open \\<dcName>\netlogon; check the client's DNS servers |
1006 + 5 | Access is denied | The user doesn't have permission to access Active Directory | Permissions on the account and its OU |
1006 + 49 | Invalid credentials | The password expired while the user stayed signed in, or a service runs as the user with an old password | Change the password, lock and unlock; update service passwords |
1006 + 258 | Timeout | Incorrect DNS configuration | nslookup -type=SRV _ldap._tcp.<domain> returns the right DCs |
1053 + 5 | Access is denied | Password expired while signed in, or a recent password change hasn't replicated | Allow replication time; change the password, lock and unlock |
1053 + 14 | Not enough storage is available to complete this operation | Windows is short of memory | Other memory events in the System log |
1053 + 525 | The specified user doesn't exist | No read access to the OU that holds the user or computer object | Users and computers both need read on their OU |
1053 + 1355 | The specified domain either doesn't exist or couldn't be contacted | DNS fault or misconfiguration | nslookup the DCs of the user's domain |
1053 + 1727 | The remote procedure call failed and didn't execute | Firewall rules blocking RPC to or from the DC | Network and third-party firewall rules |
gpupdate, gpresult and Operational log messages#
| Code | Meaning | Usual cause | First check |
|---|---|---|---|
Computer policy could not be updated successfully. The following errors were encountered: | gpupdate summary; the text after it repeats the System log event, often the 1058 wording. User policy has its own line. | Any event above | Match the following text to this page; gpupdate also suggests GPRESULT /H GPReport.html |
Windows could not apply the registry-based policy settings for the Group Policy object | The Registry extension couldn't process a policy file; the event details name the file and path | A corrupt local Registry.pol (widely reported by admins), or a missing or unreadable Registry.pol in the GPO | Rename C:\Windows\System32\GroupPolicy\Machine\Registry.pol (hidden folder), run gpupdate /force; check the GPO's file in SYSVOL |
7017 | Operational log error, also listed by gpresult: a system call, such as access to a GPO's gpt.ini, failed | Same causes as 1058 | The path in the event; usually appears next to 1058 |
GetLdapHandle: Failed to connect <DC> with 81 | gpsvc.log: the LDAP connection to the DC failed (logged with 1129) | TCP 389 blocked between client and DC | Network trace of the TCP handshake on 389; involve the network team |
5016 with ErrorCode 2147483658 (E_PENDING) | The audit policy extension started its work on a background thread | By design for advanced audit policy, not a failure | Security-Audit-Configuration-Client › Operational for real audit policy errors |
Watch out: user policy is read in the computer's security context. If you removed Authenticated Users from a GPO to do security filtering, give Domain Computers (or Authenticated Users) Read without Apply, or the user settings won't apply even though the user is in the filtering group.
Security policy warnings: SceCli 1202#
User rights, restricted groups and other security settings go through the security extension, which logs event 1202 from SceCli in the Application log: Security policies were propagated with warning. followed by a Win32 error code. To find the item that failed, turn on the extension's debug log, refresh, and search it:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions\{827D319E-6EAC-11D2-A4EA-00C04F79F83A}" /v ExtensionDebugLevel /t REG_DWORD /d 2 /f
gpupdate /target:computer /force
find /i "cannot find" %SYSTEMROOT%\security\logs\winlogon.log
find /i "<account name>" %SYSTEMROOT%\security\templates\policies\gpt*.*| Code | Meaning | Usual cause | First check |
|---|---|---|---|
1202 0x534 | No mapping between account names and security IDs was done | An account in User Rights Assignment or Restricted Groups was mistyped or deleted, or sits across a broken trust | winlogon.log names the account; the cached template names the setting and GPO |
1202 0x6fc | The trust relationship between the primary domain and the trusted domain failed | An account from a trusted domain can't be resolved | Validate the trust, then proceed as for 0x534 |
1202 0x2 | The system cannot find the file specified | Something the security template refers to isn't present on this computer | winlogon.log names the item; remove or retarget the setting |
1202 0x5 | Access denied | The system lacked permission to update a service's access control list | winlogon.log; the service's permissions |
The cached template's GPOPath= line holds the GPO's GUID; Get-GPO -Guid <guid> on a server with the RSAT Group Policy tools returns its display name. Remove or replace the bad entry in that GPO.
How to verify a fix#
- Run
gpupdate /force. Good looks likeComputer Policy update has completed successfully.andUser Policy update has completed successfully.with no list of errors. - In the System log, the error stops repeating and a Group Policy success event follows for the same processing type.
- Run
gpresult /h gp.htmlelevated: the GPO is listed as applied, the report shows no errors, and every denied GPO has a reason you expect (security filtering, WMI filter, empty). - For access-denied codes on a computer, check the machine account:
Test-ComputerSecureChannel -Verboseshould returnTrueand say the secure channel is in good condition. - For SceCli 1202, run
gpupdate /target:computer /forceagain: no new 1202 warning. Then setExtensionDebugLevelback to 0. - Turn off gpsvc logging when you're done:
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" /v GPSvcDebugLevel /t REG_DWORD /d 0x00000000 /fRelated: Kerberos error codes, LDAP bind errors and domain join errors.
References#
- Applying Group Policy troubleshooting guidance (events 1129, 1002, 1006, 1030, 1058, 1053, 1097, 5016 and gpsvc logging)
- Troubleshoot SCECLI 1202 events
- Force synchronization for DFSR-replicated SYSVOL

