Windows 11: "Your organization's security policies block unauthenticated guest access" when opening a NAS share (0x80070035)
Hi, it's BlueByte. You type \\nas01\scans into File Explorer on a freshly upgraded Windows 11 laptop and get a dialog instead of a folder: You can't access this shared folder because your organization's security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network. A colleague's older laptop opens the same share without complaint. Nothing is broken and the NAS is reachable; your SMB client is refusing on purpose. We'll walk through what it refuses and why, how to tell this refusal apart from an SMB1-only device and from a plain name-resolution failure, the fix Microsoft wants you to make, the escape hatch and what it costs, and how to stop it coming back.
One refusal, three wordings: the dialog, 0x80070035 and error 3227320323
Microsoft's SMB signing documentation lists the messages you can get from a device that uses guest accounts to simplify access: the dialog above, Error code: 0x80070035 The network path was not found., and from net use, System error 3227320323 has occurred. The second one is confusing because 0x80070035 is the generic "network path not found" code that also appears for typos and dead hosts. What settles it is the client's own log: the docs list Event ID 31017 in Microsoft-Windows-SmbClient/Security with the text Rejected an insecure guest logon. The machine attempted to connect to the server using an insecure guest logon. The server denied the connection. If that event is there, you are in this article; if it isn't, treat that as inconclusive on older builds, where the docs tie this auditing to Windows 11 24H2 and Server 2025.
Why the client refuses: guest logons are off, and 24H2 also demands signing
Two defaults stack up. Since Windows 10 version 1709 and Windows Server 2019, the SMB2 and SMB3 client no longer allows guest account access to a remote server, nor falling back to Guest after invalid credentials. The docs spell out the editions: Windows 10 Enterprise, Education and Pro for Workstations, Windows Server 2019 Datacenter and Standard, and Windows 11 Pro from Insider build 25267 onward, which is why a Windows 11 Pro machine on 24H2 refuses while Windows 10 Home and Pro still allow guest. The reason: a guest logon lets an attacker put up a spoofed server without any credential error, and guest sessions can't use signing or encryption, so they are open to adversary-in-the-middle attacks.
The second default arrived with Windows 11 version 24H2: Enterprise, Pro and Education now require both outbound and inbound SMB signing, and Windows Server 2025 requires outbound signing; Home requires neither. Guest logons don't support signing even when the client allows guests, so on 24H2 flipping the guest switch alone isn't enough, and a third-party server that doesn't sign at all fails with 0xc000a000, STATUS_INVALID_SIGNATURE or The cryptographic signature is invalid.
Rule out the two look-alikes: an SMB1-only device and error 53
An old NAS or printer that only speaks SMB1 produces different text: The specified network name is no longer available., Unspecified error 0x80004005, System Error 64 or Error 58, and Windows 11 doesn't include the SMB1 client at all after a clean install. The client logs Event ID 32000, SMB1 negotiate response received from remote device when SMB1 cannot be negotiated by the local computer. The other look-alike is System error 53 has occurred. The network path was not found. with no dialog and no 31017: the documented cause is the TCP/IP NetBIOS Helper service stopped or running as Local System instead of Local Service, and more generally the name didn't resolve or TCP 445 is blocked. Credentials never came into it.
Confirm which one you have with Get-SmbClientConfiguration and the SmbClient log
Run these from an elevated PowerShell on the machine that fails:
Get-SmbClientConfiguration | Format-List EnableInsecureGuestLogons, RequireSecuritySignature
Get-WinEvent -FilterHashtable @{ LogName = 'Microsoft-Windows-SmbClient/Security'; Id = 31017, 32000 } -MaxEvents 20 |
Format-List TimeCreated, Id, Message
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol | Format-List FeatureName, State
Test-NetConnection -ComputerName nas01 -Port 445 | Format-List ComputerName, RemoteAddress, TcpTestSucceededOn a Windows 11 Pro 24H2 machine you should see something like:
EnableInsecureGuestLogons : False
RequireSecuritySignature : True
TimeCreated : 22/09/2026 09:14:02
Id : 31017
Message : Rejected an insecure guest logon. ...
FeatureName : SMB1Protocol
State : Disabled
TcpTestSucceeded : TrueRead it as a tree. TcpTestSucceeded : False means the host or port isn't reachable and this is the error-53 family, not guest access. A 32000 event with SMB1 Disabled means the device is SMB1-only. A 31017 event with EnableInsecureGuestLogons : False is the guest block, and RequireSecuritySignature : True tells you whether you are also on the signing requirement.
The fix Microsoft recommends: give the share an account and turn on signing
Stop using guest. Create a user on the NAS, grant it the share, disable guest on that share, and connect with the credential:
net use S: \\nas01\scans /user:nas01\scanuser /persistent:yes
Get-SmbConnection -ServerName nas01 | Format-List ServerName, ShareName, UserName, Credential, DialectServerName : nas01
ShareName : scans
UserName : LAPTOP-7\haneul
Credential : nas01\scanuser
Dialect : 3.1.1Credential is the account the session was set up with; a guest session would not have got this far. Then check the NAS firmware for an SMB signing setting and turn it on (on Samba-based devices this is the server signing option), so a 24H2 client can sign the session. The signing docs are explicit that the answer to a non-signing third party is to enable signing on the server, or update or replace the device, not to weaken the client.
The escape hatch: allow insecure guest logons, and what it costs you
If the device offers nothing but guest and you accept the risk on that client, Microsoft documents the switch:
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force
# Windows 11 24H2 Enterprise/Pro/Education only, and only if the device also can't sign:
Set-SmbClientConfiguration -RequireSecuritySignature $false -ForceThe same two settings live in Group Policy at Computer Configuration → Administrative Templates → Network → Lanman Workstation → Enable insecure guest logons and Computer Configuration → Windows Settings → Security Settings → Local Policies → Security Options → Microsoft network client: Digitally sign communications (always); the registry form of the first is HKLM\SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation\AllowInsecureGuestAuth as a DWORD of 1. If a domain GPO sets the policy, it takes precedence over the local value, so change the GPO rather than the machine. The docs add that both SMB signing and SMB encryption policies must be disabled for guest logons to work, and that the client then logs 31018 An administrator has enabled AllowInsecureGuestAuth as a warning. That is the cost: this client can no longer tell a spoofed server from the real one, for every share it opens.
A worked example: the office NAS after the 24H2 upgrade, checked end to end
A team's Windows 11 Pro laptops move from 23H2 to 24H2 and \\nas01\scans, a guest share on a small NAS, stops opening with the dialog; a 23H2 laptop still opens it. If you check it yourself, Get-SmbClientConfiguration shows EnableInsecureGuestLogons : False and RequireSecuritySignature : True, the log shows 31017 at each attempt, and Test-NetConnection on port 445 succeeds. The admin creates scanuser on the NAS, gives it read/write on scans, turns guest off for that share, and pushes the credential with cmdkey /add:nas01 /user:nas01\scanuser /pass:<password>. The NAS turns out to support signing once its firmware is updated, so the 24H2 signing requirement never has to be touched. Then confirm three things: no new 31017 appears in Microsoft-Windows-SmbClient/Security, Get-SmbConnection lists the share with Credential : nas01\scanuser, and Get-SmbClientConfiguration still reports EnableInsecureGuestLogons : False and RequireSecuritySignature : True. If you took the escape hatch instead, expect 31018 and 31022 (Allowed an insecure guest logon) in that log; that is the client telling you it is trusting the server on faith.
Keep it from coming back
Treat guest shares as a migration item, not a setting. Put per-user accounts on every NAS and printer share, enable signing on the device, and retire hardware whose vendor won't add SMB2 or signing support; Microsoft's SMB1 Product Clearinghouse lists vendors and the updates that removed those requirements. On a fleet, keep Enable insecure guest logons disabled in the domain GPO, and if one exception is unavoidable, scope it to a security group of the affected machines rather than the domain. On 24H2 and Server 2025, audit guest attempts in the SmbClient/Security log before the next hardware refresh.
How this differs from "You do not have permission" and from a signature error
You do not have permission to access \\nas01 means the client authenticated and the server said no: share or NTFS permissions on the server side, and the documented checks are the share's permissions and the TCP/IP NetBIOS Helper service. 0xc000a000 / The cryptographic signature is invalid means the session was not guest but the server refused or mangled signing, which is a server setting to fix. The guest-access dialog means the client never presented a credential the server accepted and refused to fall back to Guest, which is exactly what the 31017 event records.
Next time a share opens on one laptop and not another, walk these checks back in order: is the host reachable on 445, is there a 31017 or a 32000, what do the two client settings say, and only then decide between an account on the device and the switch you know the price of.
Related questions
It worked on Windows 11 23H2 and broke on 24H2. What changed?
Two things. Windows 11 Pro stopped allowing guest logons from Insider build 25267 onward, which 24H2 ships, and 24H2 Enterprise/Pro/Education require SMB signing on both directions, which guest sessions can't provide. A 23H2 Pro machine had neither restriction.
I enabled insecure guest logons and it still fails on 24H2.
The signing requirement is still in force. Microsoft's docs state that guest logons don't support signing even when the client allows them, so on 24H2 Enterprise/Pro/Education you would also have to set RequireSecuritySignature to $false, or better, give the share an account and enable signing on the device.
Is 0x80070035 always this problem?
No. It is the generic 'network path was not found' code. Check Test-NetConnection on port 445 and the SmbClient/Security log: a 31017 event makes it guest access, a 32000 event makes it an SMB1-only device, and no event with a failed TCP test makes it name resolution, a firewall, or a stopped server.
Should I re-enable SMB1 to fix this?
Not for the guest-access dialog, which is an SMB2/SMB3 client policy. SMB1 matters only when the log shows Event 32000 and the device can't speak SMB2.02 or later, and even then Microsoft recommends a firmware update over reinstalling SMB1 because of its known ransomware exposure.
Does Windows 11 Home have this problem?
Usually not. The docs say Windows 10 Home and Pro still allow guest authentication by default and list no such change for Windows 11 Home, and 24H2 Home doesn't require signing in either direction. That difference is often the clue when one machine in a small office works and another doesn't.
References
- Microsoft Learn — Enable insecure guest logons in SMB2 and SMB3 for Windows client and Windows Server (default behaviors, Set-SmbClientConfiguration, Event IDs 31017/31018/31022)
- Microsoft Learn — Control SMB signing behavior (24H2/Server 2025 defaults, error messages including 0x80070035 for guest devices)
Haneul Seo
Infrastructure engineer · 10+ years running Linux fleets
More in this category
systemd: Start request repeated too quickly
systemd refuses to start a unit that was started more than StartLimitBurst times (default 5) within StartLimitIntervalSec (default 10s), and Restart= counts against that limit. With the 100 ms default RestartSec a crashing service burns all five attempts in under a second. Find the real crash in the journal, fix it, run reset-failed, and give restarts room with RestartSec.
SSH: Received disconnect ... Too many authentication failures
Your agent is offering more keys than the server will let you try. Every public key sshd looks at burns one of the MaxAuthTries attempts — six by default, often three on a hardened host — so the right key never gets its turn and the server hangs up before you type anything. IdentitiesOnly=yes with an explicit IdentityFile pins the connection to one key and the attempt count drops to one.
Active Directory: replication fails with error 1722, The RPC server is unavailable
RPC reports 1722 (0x6ba, RPC_S_SERVER_UNAVAILABLE) when a lower layer fails to connect, so the real fault is almost never RPC itself — it is DNS, a blocked port, or a host-side setting on one of the two domain controllers. repadmin tells you which partner is failing, dcdiag /test:dns rules out name resolution, and Test-NetConnection plus the dynamic port range settle the firewall question. The most common miss is a rule that allows TCP 135 but not 49152–65535.
Windows Server RDS: The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license
The 120-day RD Licensing grace period ended and the session host has no usable license server, so it refuses sessions. GetGracePeriodDays returning DaysLeft 0 and an empty SpecifiedLSList confirm it in seconds. The fix is a real, activated license server with CALs that are new enough for the host — a 2019 CAL cannot serve a 2022 session host — configured through the deployment or the Licensing policies, plus RPC ports open between the two.
Ubuntu/Debian: E: Could not get lock /var/lib/dpkg/lock-frontend — who holds it and how to wait for it
Another package manager, usually Ubuntu's unattended-upgrades fired by a persistent systemd timer at boot, holds the dpkg frontend lock while your apt-get runs. apt-get gives up at once while apt waits because Ubuntu ships binary::apt::DPkg::Lock::Timeout "120" for the apt binary only. Read the PID from the message, let the run finish or pass -o DPkg::Lock::Timeout=<seconds> to apt-get, run dpkg --configure -a only after a genuinely interrupted run, and never delete the lock file: it is an fcntl lock the kernel releases when the holder exits.
macOS: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
git, make, clang and other /usr/bin developer commands on macOS are shims that hand off to the active developer directory, and xcrun is reporting that the directory xcode-select points at has no tools in it — most often because a major macOS upgrade left /Library/Developer/CommandLineTools empty, or Xcode was moved or deleted. Check xcode-select -p and the package receipt, then reinstall the Command Line Tools with xcode-select --install, or point xcode-select at the Xcode you actually have.