老电脑Win7连不上新文件服务器的共享怎么办

公司新上了 Windows Server 2016/2019 文件服务器,Win10/Win11 电脑访问共享都正常,但车间几台装 Win7 的老电脑(配套设备的工控机/办公机)就是连不上:要么提示无法访问,要么让输密码又不认。老机器不能重装系统,怎么让它们连上新服务器?

原因

Win7 与新 Server 的组合,卡点通常是协议与认证策略:

  1. SMB 版本:Server 2016 起默认不再装 SMB1;Win7 本身支持 SMB2.1,理论上够用,但打补丁不全的 Win7 在 SMB2/3 协商上常出问题;若服务器侧还开启"禁用 SMB1",而老软件/老 NAS 依赖 SMB1,就会出现新服务器连不上、老设备连得上。
  2. NTLM 认证级别:新服务器默认拒绝 LM/NTLMv1,Win7 出厂默认可能发送 NTLMv1,认证直接被拒(表现为密码对了也提示凭据错误)。
  3. 服务器侧安全基线收紧:比如禁用来宾、要求签名,与 Win7 的默认行为冲突。

解决办法

按"先客户端后服务器"顺序:

  1. Win7 上确认 SMB2 已启用(管理员 CMD):

    reg query HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v SMB2
    

    值为 0 表示被禁用,删除该值或改为 1 后重启。

  2. Win7 打齐补丁:能联网的先装服务包与更新(离线的用补丁包导入),大量 SMB2 协商问题在补丁后消失。

  3. 提高认证级别:Win7 的 secpol.msc(家庭版没有则改注册表)→ 本地策略 → 安全选项 →“网络安全:LAN Manager 身份验证级别"设为"仅发送 NTLMv2 响应”。注册表方式:HKLM\SYSTEM\CurrentControlSet\Control\Lsa 下 LmCompatibilityLevel 设为 5。

  4. 用户名用完整格式重试:服务器IP\用户名,并清理凭据:控制面板 → 凭据管理器删除旧条目;命令行测试 net use \\服务器IP\IPC$ /user:服务器IP\账号 密码

  5. 检查服务器端 SMB 配置(服务器 PowerShell):

    Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
    

    EnableSMB2Protocol 应为 True;如确有无法升级的 SMB1 依赖设备,再评估临时启用 SMB1(服务器管理器 → 功能 → SMB 1.0/CIFS 服务器),但这是安全下策,需限期淘汰。

  6. 防火墙双端放行"文件和打印机共享"(Win7 侧也一样),必要时临时关闭测试对比。

  7. 连接断续时在 Win7 上重启服务:net stop server && net start server(以及 LanmanWorkstation)。

预防

  • 把"还能连上 Win7"写进服务器改造验收清单:上 SMB 相关安全基线前先盘点存量老系统。
  • SMB1 只作为过渡:给每台 SMB1 依赖设备定淘汰时间表,到期关闭。
  • 车间工控机与办公网隔离(单独 VLAN + 白名单只放 445),降低老系统被利用的风险。