Windows 11 无法连接 Windows 7 共享打印机:一次排查与解决记录

办公室有一台通过 USB 连接到 Windows 7 电脑的打印机。开启共享后,Windows 10 电脑可以正常连接,Windows 11 电脑却反复提示输入密码,或者报“凭据不足”“拒绝访问”。

经过多轮排查,最终实测通过在连接失败的电脑上执行三条命令解决。本文记录环境、操作步骤及排查中的几个误区,便于以后对照。

一、故障环境与现象

项目 情况
共享主机 Windows 7
打印机 HP LaserJet Pro MFP M125-M126
连接方式 USB 连接共享主机
共享名 126
最终排查使用的地址 \\192.168.1.84\126
连接失败的客户端 Windows 11 专业工作站版 25H2
对照情况 Windows 10 可以连接,Windows 11 连接失败

排查中先后遇到这些表现:

  • 能打开共享电脑,看到打印机,但双击安装时要求用户名和密码。
  • 输入 Guest、密码留空后,提示“提供的凭证不足”。
  • 出现错误码 0x000004f8。
  • 添加本地端口 \\192.168.1.84\126 时提示“拒绝访问”。
  • 安装窗口停在“正在查找驱动程序”,随后提示拒绝访问。

实际要求是:尽量只处理连接失败的电脑,不修改共享主机,以免影响已经正常打印的其他同事。

二、最终实测有效的三条命令

在连接失败的 Windows 11 电脑上,右键“开始”,打开“终端(管理员)”,确认使用的是 PowerShell。

逐条执行下面的命令,不要把三条直接拼成一行:

PowerShellpowershell
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcUseNamedPipeProtocol /t REG_DWORD /d 1 /f
PowerShellpowershell
Set-SmbServerConfiguration -RequireSecuritySignature $false
PowerShellpowershell
Set-SmbClientConfiguration -RequireSecuritySignature $false

如果 PowerShell 出现确认提示,按提示输入 Y 并回车。

完成后,建议重启当前电脑,再按 Win + R 输入:

texttext
\\192.168.1.84

双击共享打印机“126”安装,完成后打印测试页验证。地址和共享名需要替换为自己环境中的实际值。

本次后续测试反馈是:执行以上三条命令即可解决。但前期排查还涉及访客登录设置和驱动安装,因此这是一组在本环境中验证有效的组合,不代表已经通过逐项还原实验,证明每条命令在所有环境中都必不可少。

三、三条命令分别做了什么?

1. 将打印 RPC 连接改为命名管道

第一条命令设置:

texttext
RpcUseNamedPipeProtocol = 1

Windows 11 从 22H2 开始,打印相关通信默认使用 RPC over TCP。设置这个值,会让客户端改用 RPC over Named Pipes,即基于命名管道的 RPC,用于兼容某些旧共享打印环境。微软打印 RPC 说明

它对应组策略中的:

texttext
计算机配置 → 管理模板 → 打印机 → 配置 RPC 连接设置

选择“已启用”,再把传出连接协议设为“基于命名管道的 RPC”。

家庭版没有组策略编辑器时,也可以使用上述注册表命令。

2. 取消本机 SMB 服务端的强制签名要求

PowerShellpowershell
Set-SmbServerConfiguration -RequireSecuritySignature $false

这条命令调整的是当前电脑接受入站 SMB 连接时的签名要求,并不是远程 Windows 7 主机的设置。

本次成功组合包含这一项,但没有单独验证它是否必需。如果当前电脑仅作为打印客户端,不能据此认定服务端签名设置一定是故障原因。

3. 取消本机 SMB 客户端的强制签名要求

PowerShellpowershell
Set-SmbClientConfiguration -RequireSecuritySignature $false

这条命令调整的是当前电脑访问其他电脑共享时的签名要求,与连接远程共享的方向直接相关。

微软文档区分了 SMB 客户端的出站签名和 SMB 服务端的入站签名,并说明较新的 Windows 版本加强了默认要求。微软 SMB 签名说明

这里的 $false 表示“不强制要求签名”,不等于删除 SMB 签名功能。

四、如何检查设置是否生效?

在管理员 PowerShell 中执行:

PowerShellpowershell
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcUseNamedPipeProtocol Get-SmbServerConfiguration | Select-Object RequireSecuritySignature Get-SmbClientConfiguration | Select-Object RequireSecuritySignature

预期结果如下:

设置 预期值
RpcUseNamedPipeProtocol 0x1
SMB 服务端 RequireSecuritySignature False
SMB 客户端 RequireSecuritySignature False

设置符合预期,只说明配置已修改。最终仍应以安装成功、测试页正常打印为准。

五、本次排查中容易走的弯路

能看到共享打印机,不代表能完成安装

本次可以打开共享电脑,也能看到打印机,但安装仍然失败。

共享浏览、打印通信、驱动获取及打印权限涉及不同环节,不能仅凭共享列表能打开,就认定打印链路全部正常。

IPC$ 连接成功,不代表具备打印权限

排查时在 CMD 中使用过:

cmdcmd
net use \\192.168.1.84\IPC$ "" /user:Guest /persistent:no

显示“命令成功完成”,只能证明这次共享服务连接成功。后续安装打印机仍然可能要求凭据或拒绝访问。

因此,不宜把 IPC$ 成功当作“打印机权限已经解决”。

系统错误 1219 是已有连接身份冲突

切换账户测试时,遇到过:

texttext
不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。

先用下面命令查看连接:

cmdcmd
net use

确认存在目标主机的 IPC$ 连接后,可针对性断开:

cmdcmd
net use \\192.168.1.84\IPC$ /delete /y

再测试新的身份。

不要为了排查一台打印机就随意断开全部网络连接,否则可能影响其他共享文件夹或映射盘。

管理员窗口与普通窗口要区分

在管理员 PowerShell 中输入 cmd,得到的仍然是管理员 CMD。

普通文件资源管理器与提升权限后的命令窗口,可能使用不同的网络连接上下文。测试登录时应留意窗口身份,避免在管理员窗口连接成功后,直接推断普通应用也能使用同一连接。

驱动名称相近,也要核对型号

本机最初装有:

texttext
HP LaserJet Pro MFP M127-M128 PCLmS

而目标打印机使用:

texttext
HP LaserJet Pro MFP M125-M126 PCLmS

不能仅因名称相近,就认定已安装了目标驱动。若问题发生在驱动阶段,应核对对应型号和系统架构。

不过,本次不能把所有“拒绝访问”都归因于驱动缺失;最终有效措施还涉及打印通信及 SMB 设置。

六、安全影响与恢复方法

这组设置用于兼容旧共享环境,会降低当前电脑的部分共享通信保护,而且影响范围并不限于这台打印机。微软不建议将关闭强制签名作为长期通用方案,命名管道也属于兼容性选项。SMB 签名说明、打印 RPC 说明

修改前应保存原始查询结果。需要恢复时,以原始值为准。

如果原来没有 RpcUseNamedPipeProtocol,可删除新增值:

PowerShellpowershell
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcUseNamedPipeProtocol /f

如果原来两个 SMB 签名要求都是 True,可恢复为:

PowerShellpowershell
Set-SmbServerConfiguration -RequireSecuritySignature $true Set-SmbClientConfiguration -RequireSecuritySignature $true

原来已有其他取值时,应恢复实际记录的值。恢复后重启电脑,并重新验证共享连接。

本次记录的适用场景是:旧 Windows 主机共享 USB 打印机,Windows 10 正常,而 Windows 11 出现认证、凭据或拒绝访问问题。 遇到类似情况,可以先核对路径和环境,再对照上述设置;不同错误未必有同一个原因。

上一篇 Windows 11 无法连接 Windows 7 共享打印机:一次排查与解决记录

安全验证

请点击下方按钮完成安全验证