Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

Free Fix Event ID 1058

Event ID 1058: Windows cannot access gpt.ini for a Group Policy object

11 min read Updated October 4, 2026 Windows Server: AD, DNS & Group Policy

Fix it now

Microsoft publishes 1058 as “Windows attempted to read the file from a domain controller and was not successful”, and names three causes: name resolution or network connectivity to the current domain controller, replication latency, and the DFS client having been disabled. The settings inside the policy are almost never the problem; the path to SYSVOL is.

Run gpupdate on the failing client and the dcdiag tests on the domain controller it used

gpupdate /force
dcdiag /test:NetLogons
dcdiag /test:SysVolCheck
  1. Read the 1058 entry and note the policy identifier and the exact path it tried, then open that path from the failing machine. Whatever error you get there is the real one.
  2. Try a named domain controller as well as the domain-based path. If \\dc02\SYSVOL\... works and \\corp.example.com\SYSVOL\... does not, the fault is the referral rather than the file.
  3. Check the DFS client on the machine. Microsoft names a disabled DFS client as one of the three documented causes, and it is the one nothing else in this list will reveal.
  4. On the domain controller, run dcdiag /test:NetLogons, which Microsoft describes as validating that the shares can be connected to and read without security errors.

dcdiag /test:SysVolCheck reads a registry value and, in Microsoft’s own words, does not check whether the SYSVOL and NETLOGON shares are accessible. Use NetLogons for that question.

If the path opens and gpupdate completes cleanly, you are done. If not, the next section explains why the domain name is not a server.

Why it happens

The path \\corp.example.com\SYSVOL looks like a share on a server of that name, and no such server exists. It is a domain-based namespace. The client asks a domain controller for a referral, receives a list of the domain controllers hosting SYSVOL, and connects to one. Reading one small text file therefore depends on the DFS client on the machine, the referral it is given, SMB to whichever domain controller it picked, and the share and file permissions there.

Microsoft’s published cause list for 1058 matches that chain exactly. It names name resolution or network connectivity to the current domain controller; replication latency, where a file created on one domain controller has not reached the one the client is talking to; and the DFS client having been disabled. Two of those are about which domain controller the client reached, and one is about whether the client can follow a referral at all.

That explains the shape of the problem. 1058 frequently affects one site, or one subnet, or appears intermittently as clients are referred to different domain controllers. It also explains why opening the policy happily in the management console proves nothing, because your own workstation followed its own referral, probably to a different server.

Event 1030 is the same failure one step earlier: Microsoft publishes it as Windows having attempted to retrieve new Group Policy settings for this user or computer, with the detail in the event’s own Details tab, and notes that domain-joined computers need proper name resolution and network connectivity to a domain controller for policy discovery. The other two events in this family – 1096 and 1055 – are not published by Microsoft, so read them for what they carry rather than for what their numbers are said to mean.

The DFS client is disabled on the machine

You have this one if A named domain controller path works, the domain-based namespace path does not, and the machine has been through a hardening exercise.

  1. Microsoft names this as one of three documented causes of 1058, so check it before anything else that takes longer.
  2. Confirm the client can follow a namespace referral at all by opening \\<domain>\SYSVOL directly.
  3. Restore the client, then re-run gpupdate /force.

This is the cause that survives every server-side investigation, because nothing is wrong on the server. It also tends to arrive across a whole group of machines at once, which reads like an infrastructure fault.

The domain controller the client picked cannot serve SYSVOL

You have this one if Both paths fail against one domain controller and both work against another.

  1. On that domain controller, run dcdiag /test:NetLogons, which Microsoft describes as validating that the SYSVOL and NETLOGON shares can be connected to and read without security errors.
  2. Run dcdiag /test:DFSREvent to see whether SYSVOL replication itself is reporting errors in the last 24 hours.
  3. Repair replication before touching Group Policy. A domain controller whose SYSVOL never initialised will not serve policy correctly.

Replication latency, not breakage

You have this one if A newly created or newly edited policy fails on some clients and works on others, and the failures stop on their own.

  1. Microsoft names replication latency explicitly: a file created on one domain controller may not yet have reached the one the client is talking to.
  2. Confirm the policy folder exists on the domain controller the client actually used, not just on the one you edited from.
  3. Re-test after replication has had time to converge rather than immediately.

Permissions on SYSVOL or on the policy were changed

You have this one if Opening the file returns an access denial rather than a path error, and a hardening or tidying exercise happened recently.

  1. Check that the policy is still readable by the accounts that need to read it, in the Group Policy Management Console’s delegation view.
  2. Restore the default file system permissions on SYSVOL rather than inventing new ones.
  3. Confirm with dcdiag /test:NetLogons on the domain controller, which checks share access under real credentials.

Policy retrieval runs in the computer’s security context, so removing broad read access from a policy breaks it for machines even when the policy contains only user settings.

Full reference

The events in this family

Event Status What it carries
1058 Published by Microsoft Windows attempted to read the file from a domain controller and was not successful. Named causes: name resolution or connectivity to the current DC, replication latency, the DFS client disabled
1030 Published by Microsoft Windows attempted to retrieve new Group Policy settings for this user or computer. The detail is in the event’s Details tab
1096 Not published Read the entry for the policy and error it carries. Functionally, a failure applying one policy’s registry-based settings
1055 Not published Read the entry for the name it could not resolve. Do not assume it is the DNS event: the documented resolution failure in this family is 1053, and that one is about the user name

Testing the path properly

  1. Open the exact path from the 1058 entry on the failing machine, not from your own.
  2. Open the same policy folder through a named domain controller. A difference between the two isolates the referral from the file.
  3. Repeat from a second machine in the same site, then from one in a different site. 1058 that follows a site is a domain controller problem; 1058 that follows a machine is usually the client.
  4. On the domain controller the client used, run dcdiag /test:NetLogons and read what it says about share access.
  5. Only then start looking at replication.

Tools and what they actually answer

Command What Microsoft says it does
gpupdate /force Reapplies all policy settings. By default only changed settings are applied
gpupdate /sync Causes the next foreground policy application to be done synchronously
dcdiag /test:NetLogons Validates that the user running it can connect to and read the SYSVOL and NETLOGON shares without security errors
dcdiag /test:SysVolCheck Reads the Netlogon SysVolReady registry value. Does not check whether the shares are accessible
dcdiag /test:DFSREvent Checks DFS Replication event log warnings and errors from the past 24 hours
dfsutil cache Displays or flushes the client cache. Run dfsutil cache /? for its options

dfsutil is where the client-side referral information lives, and the parameter Microsoft documents for it is cache. Older material uses switches that are not in the current reference; if a command you have been given is rejected, that is why.

When the policy folder is genuinely missing

Occasionally the identifier in the event does not exist under the Policies folder on any domain controller, and the policy shows as inaccessible in the management console. That is an orphan: an object in the directory with no folder behind it, usually left by an edit made while SYSVOL replication was broken. Restoring a policy backup recreates the folder with the same identifier and is the clean fix. Without a backup, delete the orphaned object, build a replacement and link it, and then find out why the folder went missing, because the same conditions will orphan the next one.

What not to do

  • Do not edit the version number in the file by hand. It is maintained by the management tools and compared against a matching attribute on the policy object; editing one half desynchronises the two.
  • Do not delete and recreate the policy because the path is unreachable. A new policy lives at the same unreachable path.
  • Do not conclude from a passing SysVolCheck that the share is readable. Microsoft says explicitly that the test does not check share access.
  • Do not assume the console proves anything. Your workstation followed its own referral to its own domain controller.

Reading the operational log instead of guessing

The Group Policy operational log records the start and end of each processing cycle with timings, which is how you tell a policy that failed from a policy that was never in scope. A cycle that starts and fails at the point of reading a policy file is this article’s problem. A cycle that completes without ever mentioning the policy you expected is a filtering problem and belongs elsewhere. The distinction takes a minute to establish and saves an afternoon of checking permissions on something that was never being applied.

Every code this article covers

Code What it points at Source
Event ID 1058 Group Policy processing failed: Windows attempted to read a file from a domain controller and was not successful. Microsoft names name resolution or connectivity to the current DC, replication latency, and a disabled DFS client as causes Microsoft Learn
Event ID 1030 Group Policy processing failed while attempting to retrieve new Group Policy settings for this user or computer; the code and description are in the event’s Details tab Microsoft Learn
Event ID 1096 Logged when one policy object’s registry-based settings could not be read or applied. No acceptable vendor page publishes the text, so read the policy identifier and status in the entry not published by the vendor
Event ID 1055 Logged when policy processing could not resolve a name it needed. Not published by the vendor; note that the documented resolution failure in this family is 1053, which is about the user name not published by the vendor

Confirm the fix worked

  1. The exact path from the 1058 entry opens from the affected machine using the domain-based namespace, not only through a named domain controller.
  2. gpupdate /force completes with no new 1058 entries.
  3. dcdiag /test:NetLogons succeeds on the domain controller the client used.
  4. A second machine in the same site applies the same policy.
  5. The settings the policy carries are actually in effect, rather than the policy merely being listed.

Questions people ask about this

Can I fix this by editing the policy version file?

No. The version is maintained by the management tools and compared against a matching attribute on the policy object in the directory. Editing it by hand desynchronises the two halves and creates a subtler problem than the one you started with.

Why does it affect some machines and not others?

Because referrals are issued per client and are site-aware, so two machines can be reading SYSVOL from different domain controllers, only one of which is broken. Microsoft’s own cause list names the current domain controller specifically for this reason.

What is the DFS client cause about?

Reading the file goes through a domain-based namespace, so a machine whose DFS client has been turned off cannot follow the referral at all. Microsoft lists it as one of three documented causes, and no amount of server-side investigation will reveal it.

dcdiag says SysVolCheck passed. Is SYSVOL fine?

Not necessarily. Microsoft states that SysVolCheck reads the Netlogon SysVolReady registry value and does not check whether the shares are accessible. dcdiag /test:NetLogons is the test that actually reads them.

Does fixing it cost anything?

No. This is replication, permissions, name resolution and a client component, all on infrastructure you already own.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

Free Fix Error 0x80094012: certificate template permissions deny the enrolling account License Error KDC Event ID 20: the domain controller certificate is no longer usable License Error Error 1788 trusted domain failure: forest and external trusts that stop working Free Fix Event ID 1311 KCC errors: site links that cannot build a working topology
โ† Back to Knowledge Base