老电脑Win7连不上新文件服务器的共享怎么办
公司新上了 Windows Server 2016/2019 文件服务器,Win10/Win11 电脑访问共享都正常,但车间几台装 Win7 的老电脑(配套设备的工控机/办公机)就是连不上:要么提示无法访问,要么让输密码又不认。老机器不能重装系统,怎么让它们连上新服务器?
原因
Win7 与新 Server 的组合,卡点通常是协议与认证策略:
- SMB 版本:Server 2016 起默认不再装 SMB1;Win7 本身支持 SMB2.1,理论上够用,但打补丁不全的 Win7 在 SMB2/3 协商上常出问题;若服务器侧还开启"禁用 SMB1",而老软件/老 NAS 依赖 SMB1,就会出现新服务器连不上、老设备连得上。
- NTLM 认证级别:新服务器默认拒绝 LM/NTLMv1,Win7 出厂默认可能发送 NTLMv1,认证直接被拒(表现为密码对了也提示凭据错误)。
- 服务器侧安全基线收紧:比如禁用来宾、要求签名,与 Win7 的默认行为冲突。
解决办法
按"先客户端后服务器"顺序:
-
Win7 上确认 SMB2 已启用(管理员 CMD):
reg query HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v SMB2值为 0 表示被禁用,删除该值或改为 1 后重启。
-
Win7 打齐补丁:能联网的先装服务包与更新(离线的用补丁包导入),大量 SMB2 协商问题在补丁后消失。
-
提高认证级别:Win7 的 secpol.msc(家庭版没有则改注册表)→ 本地策略 → 安全选项 →“网络安全:LAN Manager 身份验证级别"设为"仅发送 NTLMv2 响应”。注册表方式:
HKLM\SYSTEM\CurrentControlSet\Control\Lsa下 LmCompatibilityLevel 设为 5。 -
用户名用完整格式重试:
服务器IP\用户名,并清理凭据:控制面板 → 凭据管理器删除旧条目;命令行测试net use \\服务器IP\IPC$ /user:服务器IP\账号 密码。 -
检查服务器端 SMB 配置(服务器 PowerShell):
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2ProtocolEnableSMB2Protocol 应为 True;如确有无法升级的 SMB1 依赖设备,再评估临时启用 SMB1(服务器管理器 → 功能 → SMB 1.0/CIFS 服务器),但这是安全下策,需限期淘汰。
-
防火墙双端放行"文件和打印机共享"(Win7 侧也一样),必要时临时关闭测试对比。
-
连接断续时在 Win7 上重启服务:
net stop server && net start server(以及 LanmanWorkstation)。
预防
- 把"还能连上 Win7"写进服务器改造验收清单:上 SMB 相关安全基线前先盘点存量老系统。
- SMB1 只作为过渡:给每台 SMB1 依赖设备定淘汰时间表,到期关闭。
- 车间工控机与办公网隔离(单独 VLAN + 白名单只放 445),降低老系统被利用的风险。