“客户端不支持该协议”提示源于SMB协议版本不兼容或被系统策略禁用,表现为协议握手失败而非网络不通;需依次检查并启用SMB 1.0/CIFS客户端、调整RequireSecuritySignature注册表值为0、验证服务端SMB2协议是否启用,并可通过net use或PowerShell强制指定版本测试确认。
出现“客户端不支持该协议”提示,基本是 smb 协议版本不兼容或被系统策略禁用所致。windows 默认会协商最高可用的 smb 版本(如 smb 3.1.1),但若服务端只支持 smb 1.0、或客户端因安全策略禁用了低版本协议,就会直接报这个错误——它不是网络不通,而是协议握手失败。
确认 SMB 协议支持状态
先判断当前电脑是否禁用了必要的 SMB 版本:
- 按 Win + R 输入
optionalfeatures.exe回车,打开“启用或关闭 Windows 功能” - 展开“SMB 1.0/CIFS 文件共享支持”,检查是否勾选。若未启用且对方共享依赖 SMB 1.0(如老旧 NAS、XP 共享),需勾选并重启
- 注意:SMB 1.0 存在已知安全风险,仅在可信局域网内启用;现代设备应优先使用 SMB 2.0 或更高版本
检查 SMB 客户端签名与加密策略
某些环境(尤其是 Azure 文件共享或启用了强安全策略的 Windows 11 24H2)要求 SMB 加密或禁止未签名通信,而旧客户端可能不支持:
- 打开注册表编辑器(
regedit),定位到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanWorkstationParameters - 确保
RequireSecuritySignature值为 0(允许无签名连接) - 若需连接强制加密的共享(如 Azure),确认系统为 Windows 8 / Server 2012 或更新版本,并确保
EnableSecuritySignature为 1
验证服务端协议能力
错误也可能来自服务端限制了可接受的 SMB 版本:
- 在共享方电脑上以管理员身份运行 PowerShell,执行:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol - 若
EnableSMB2Protocol为 False,说明服务端禁用了 SMB 2+,需启用:Set-SmbServerConfiguration -EnableSMB2Protocol $true -Confirm:$false - 同时检查是否启用了 SMB 加密策略:
Get-SmbServerConfiguration | fl EncryptData,如为 True 且客户端不支持,则需协调关闭或升级客户端
绕过协议协商失败的临时验证法
快速判断是否纯协议问题,可尝试强制指定 SMB 版本访问(仅限测试):
- 在客户端命令行中运行:
net use Z: \192.168.1.100share /user:guest - 若仍失败,改用 PowerShell 强制 SMB 2 连接(需目标支持):
Invoke-Command -ComputerName 192.168.1.100 -ScriptBlock { Get-SmbConnection } - 若返回空或报错“无法建立会话”,基本确认是协议层阻断,而非权限或网络问题

















