必须同时启用来宾账户、放行Everyone权限、允许匿名上下文映射、启用不安全来宾登录,缺一不可;否则访问时会弹出凭据框或拒绝连接。

要在局域网内让其他设备无需输入用户名和密码就能访问你电脑上的共享文件夹,必须同时满足四个硬性条件:来宾账户已启用、共享权限放行Everyone、本地安全策略允许匿名上下文映射、系统级SMB协议允许不安全来宾登录。缺一不可,否则访问时会弹出凭据框或直接拒绝连接。
启用并解锁Guest账户
Windows默认禁用Guest账户,这是匿名访问的底层身份载体。不启用它,后续所有配置都无效。
以管理员身份运行命令提示符,执行:
net user guest /active:yes
这一步操作起来很简单,但必须成功执行——如果提示“发生系统错误 5”,说明当前不是管理员权限;如果提示“用户已存在”,说明账户已启用,可跳过。
执行后无需重启,Guest账户即刻处于激活状态,但【仍被组策略阻止网络访问】,下一步必须解除限制。
解除Guest账户的网络访问限制
即使启用了Guest账户,Windows默认仍将其列入“拒绝从网络访问这台计算机”列表,导致匿名连接被拦截。
方法一(推荐):用组策略编辑器精准移除
按 Win + R 输入 gpedit.msc → 计算机配置 → Windows设置 → 安全设置 → 本地策略 → 用户权限分配 → 双击“拒绝从网络访问这台计算机” → 在右侧列表中找到 Guest → 选中并点击“删除” → 点击“确定”。
方法二(备用):若系统无gpedit.msc(如Win11家庭版),改用PowerShell(管理员运行):
Remove-LocalGroupMember -Group "Users" -Member "Guest"
注意:不要误删“从网络访问此计算机”策略中的Guest——那是授权项,不是限制项。
强制SMB协议接受不安全来宾登录
Windows 10/11默认禁止SMB匿名协商,这是近年安全加固的核心机制,必须显式覆盖。
第一步:打开PowerShell(管理员权限)
第二步:执行命令:
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true
第三步:立即生效,无需重启。该命令修改的是客户端配置,但对本机作为SMB服务器响应匿名请求至关重要——【若跳过此步,\IP共享名会直接报错0x80070035】。
验证是否生效:在PowerShell中运行 Get-SmbClientConfiguration | findstr "EnableInsecureGuestLogons",返回值应为 True。
配置共享文件夹权限(两层缺一不可)
仅设共享权限不够,NTFS权限必须同步放开,否则匿名用户连目录结构都看不到。
① 设置共享权限:
右键目标文件夹 → 属性 → 共享选项卡 → 点击“共享…” → 输入 Everyone → 添加 → 权限级别选“读取/写入” → 点击“共享”。
② 设置NTFS安全权限:
仍在同一属性窗口 → 切换到“安全”选项卡 → 点击“编辑…” → “添加…” → 输入 Everyone → 确定 → 在下方权限列表中勾选“完全控制” → 应用 → 确定。
③ 关键补漏:若“安全”选项卡中无Everyone,点击“高级” → “更改权限” → 勾选“替换所有子对象的权限项” → 点击“应用”。这一步确保深层文件夹继承权限,否则子目录可能拒绝访问。
关闭密码保护共享并启用网络发现
这是面向用户的最后一道开关,控制面板级设置,必须手动关闭才能绕过凭据弹窗。
打开控制面板 → 网络和 Internet → 网络和共享中心 → 左侧“更改高级共享设置” → 展开当前网络配置(通常是“专用”)→ 执行三项操作:
✅ 启用网络发现
✅ 启用文件和打印机共享
❌ 关闭密码保护共享
完成后点击“保存更改”。此设置直接影响SMB连接时是否触发Windows凭据管理器——【若此处未关闭,即使前面全部正确,仍会弹出登录框】。











