Fix it now
0x80070005 is Win32 5, “Access is denied”. On a share that is a refusal, not a failure to connect: the host was found, a session was made and a credential was accepted. Effective access is the narrower of the share and NTFS permissions, on top of a right to log on to that machine over the network at all.
net use
net use * /delete
Get-SmbShareAccess -Name Data
whoami /groups
- Read
net usefirst. It shows which credential each live session was made with, and Windows reuses an existing session to a server before it considers a new one. - On the server, compare the share permission from
Get-SmbShareAccesswith the folder’s own permissions. Effective access is the narrower of the two, and a share granting Read caps everything behind it at read. - Check the specific user, not the groups: folder Properties, Security, Advanced, Effective Access, and enter the account.
- If the user was recently added to a group, sign them out and back in. Group membership is fixed into the logon token and does not update on its own;
whoami /groupsproves whether the new group is in the token. - On the server, confirm the account is not blocked from network logon in the local security policy, under User Rights Assignment.
Do not manage access in both places. Decide that the file system holds the real answer and keep the share permission broad enough not to interfere, or you will be debugging the intersection of two lists for the rest of the share’s life.
If the user can create and delete a file in the destination, stop here. If not, the next section works through the three layers in the order Windows evaluates them.
Why it happens
A share has its own permission list, which applies only to connections made over the network. The folder behind it has a file system permission list, which applies to everyone regardless of how they reach it. What a user can actually do is the intersection. This is the single most common reason for a refusal that makes no sense when you look at only one of the two, and it is why an administrator sitting at the server can do something the same account cannot do over the network.
Underneath both is a user right. An account must be permitted to access the computer from the network, and must not appear in the matching deny list, before either permission set is consulted at all. A share that stops working for one group after a policy change is usually explained there rather than in any access control list.
The companion codes tell you how far the request got, and two of them are worth reading carefully because their published meanings are narrower than the usual paraphrases. 0x80070041 is Win32 65, “Network access is denied”, a refusal at the network access layer specifically. 0xC0000022 is STATUS_ACCESS_DENIED: a process has requested access to an object but has not been granted those rights. 0x800704DC is Win32 1244: the operation was not performed because the user has not been authenticated – no valid credential was established, rather than one being rejected.
0x800704F1 is the one most often misread. Its symbolic name, ERROR_DOWNGRADE_DETECTED, suggests a security downgrade on the channel to the domain, and that is how it is usually described. Microsoft’s published text says something else: “The system cannot contact a domain controller to service the authentication request. Please try again later.” If you see it, check controller reachability before you go anywhere near the machine account.
The share permission caps the file system permission
You have this one if The folder permissions look correct, the user can read but not write, and everything works when they sit at the server itself.
- Read the share permission with
Get-SmbShareAccessand compare it directly with the folder’s list. - Set the share permission to allow Change or Full for the group that should have it, and control the detail on the folder.
- Reconnect the client afterwards so the new permission applies to a fresh session.
A deny entry, or a group not yet in the token
You have this one if The user is a member of the right group and still cannot get in, or one user out of a group fails.
- Check Effective Access on the folder for that specific user. It resolves group nesting and deny entries for you.
- Look for explicit deny entries, which win over any allow, including inherited ones.
- Have the user sign out and back in after any group change, then confirm with
whoami /groups.
A group added while the user is signed in does nothing until they get a new token. That accounts for a large share of access problems that look inexplicable.
The account may not log on over the network
You have this one if A whole group lost access at once, and the timing lines up with a policy or baseline being applied.
- On the server, check the user right permitting access to the computer from the network, and the matching deny right.
- Correct the policy that sets them rather than the local setting, which the next refresh will overwrite.
- Force a policy update on the server and retest before rolling the change any further.
A stale credential or a reused session on the client
You have this one if One machine fails while others succeed, and the failure is instant with no prompt.
- Run
cmdkey /listand remove any stored credential naming that server. - Drop live sessions with
net use * /delete. You cannot hold two sessions to the same server under different accounts, so the first one wins. - Reconnect and supply the credential again, qualifying the user name with the domain or the machine.
Administrative shares from a machine outside the domain
You have this one if A local administrator account can open ordinary shares but is refused on the hidden administrative ones.
- Understand first that this is deliberate: a local account connecting over the network is stripped of its administrative privileges by default.
- Use a domain account with local administrative rights where one exists. That is the intended route.
- The behaviour can be relaxed with a registry value on the target, which hands full remote administrative access to any local account that is compromised. Last resort, isolated machines, recorded.
Full reference
The five codes, with their published wording
| Code | Published meaning |
|---|---|
0x80070005 |
Win32 5, ERROR_ACCESS_DENIED: access is denied |
0x80070041 |
Win32 65, ERROR_NETWORK_ACCESS_DENIED: network access is denied |
0xC0000022 |
STATUS_ACCESS_DENIED: a process has requested access to an object but has not been granted those access rights |
0x800704DC |
Win32 1244, ERROR_NOT_AUTHENTICATED: the operation being requested was not performed because the user has not been authenticated |
0x800704F1 |
Win32 1265, ERROR_DOWNGRADE_DETECTED: the system cannot contact a domain controller to service the authentication request. Please try again later |
0x800704DC and 0x800704F1 are the two that change where you look. The first says no credential was ever established, so stop reading access control lists and find out why authentication did not happen. The second, despite its name, says a domain controller could not be reached.
Where to look, by symptom
| Symptom | Layer to check |
|---|---|
| Can open files but not save them | The share permission is narrower than the folder permission |
| One user fails, their colleagues do not | Group membership, or a deny entry on the folder |
| A whole group lost access after a policy change | The network logon user right |
| Fails from one machine only | A cached credential or a reused session on that client |
| Fails only for administrative shares from a workgroup PC | Remote administrative rights are filtered by default |
| Fails intermittently across a site | Domain controller reachability, which is what 0x800704F1 is telling you |
The order Windows actually evaluates things
- Can this account log on to this computer over the network at all? The user right, and the matching deny right, decide that before anything else.
- Has a credential been established? If not, you get 1244 rather than an access decision.
- What does the share permission allow this token? That is the ceiling for everything behind it.
- What does the file system permission allow this token? Explicit deny beats any allow, including inherited ones.
- The result is the narrower of the last two, and it is what Effective Access shows you.
Working in that order saves time because each step rules out everything below it. Somebody who cannot log on over the network will never produce an interesting permissions answer, and somebody with a deny entry on the folder will not be helped by a broader share permission.
Commands that answer a specific question
| Command | What it answers |
|---|---|
net use |
Which account each live session to that server was made with |
net use * /delete |
Clears them so a new credential is actually considered |
Get-SmbShareAccess -Name <share> |
What the share permission allows, on the server |
whoami /groups |
What is actually in this user’s token right now |
cmdkey /list |
Which stored credentials the client will replay without asking |
Any registry change that relaxes remote administrative access, and any change to the network logon user rights, widens what an attacker can do with a single stolen local credential. Apply such a change to the one machine that needs it rather than through a policy across the estate, export the branch first, and record why it exists where the next rebuild will find it.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
0x80070005 |
Win32 5, ERROR_ACCESS_DENIED: access is denied, after the connection and the credential both succeeded | Microsoft Learn |
0x80070041 |
Win32 65, ERROR_NETWORK_ACCESS_DENIED: network access is denied | Microsoft Learn |
0xC0000022 |
STATUS_ACCESS_DENIED: a process has requested access to an object but has not been granted those access rights | Microsoft Learn |
0x800704DC |
Win32 1244, ERROR_NOT_AUTHENTICATED: the operation was not performed because the user has not been authenticated | Microsoft Learn |
0x800704F1 |
Win32 1265, ERROR_DOWNGRADE_DETECTED: the system cannot contact a domain controller to service the authentication request. Despite the symbolic name, the published meaning is about controller reachability | Microsoft Learn |
Confirm the fix worked
- Have the affected user create and delete a file in the destination folder, as themselves.
- Check Effective Access for that user shows the permission you intended.
- Confirm
net useshows the connection under the expected account. - Sign the user out and in again, then confirm access still works from a fresh session.
- If a policy set the user right, force a refresh and retest rather than trusting the local setting.
Questions people ask about this
Do I need to buy anything to fix this?
No, and it costs nothing. Share permissions, file system permissions and user rights are all configuration. No licence changes what a user may open.
Why does the administrator account fail on a share it owns?
Ownership is not access. An owner can always take control of the permissions, but an explicit deny still blocks the operation until it is removed.
Can I connect to the same server as two different users at once?
Not from one Windows session against the same server name. Drop the existing connection first. Reaching the server by a different name that resolves to it is a widely used workaround, but treat it as a workaround.
The problem appears only in the morning, then clears.
That pattern points at the domain rather than the share: a controller that is slow to answer, or one that is unreachable when everyone logs on at once. 0x800704F1 is the code that says so explicitly. Check the client’s System log around the failures.
Should I just give Everyone Full Control on the share?
It is a defensible arrangement if, and only if, the file system permissions are the real control and they are correct. What is not defensible is doing it because the intersection was confusing and then leaving the folder permissions loose as well.
