问题背景
在Windows 10和Windows 11环境中,当客户端尝试连接位于服务器或其他PC上的网络共享打印机时,经常会出现“Windows无法连接到打印机”且错误代码为0x0000011b的情况。此问题并非硬件故障,而是由于微软在2021年发布的月度安全更新(特别是针对PrintNightmare漏洞的补丁)中,默认启用了更严格的RPC(远程过程调用)认证要求所致。
对于中小企业IT运维人员而言,这一变更导致原有的打印共享架构失效,影响业务连续性。本文将详细介绍两种有效的修复方案,帮助用户在不降级系统安全性过大的前提下,重新建立稳定的打印连接。
核心原因分析
错误代码0x0000011b通常指示RPC服务器端强制认证失败。具体表现为:
- 协议变更:旧版Windows允许匿名或弱认证的RPC连接以简化共享设置。
- 安全加固:新补丁要求所有RPC连接必须进行强认证,以防止未经授权的打印机驱动加载。
- 兼容性问题:当打印服务器安装了最新补丁,而客户端未同步配置或仍使用旧版驱动时,握手失败即触发此错误。
解决方案一:修改注册表禁用RPC强制认证
这是最常用且生效最快的方法。需要同时在打印服务器和客户端上进行操作,建议优先在打印服务器端执行,若无效再在客户端执行。
步骤1:打开注册表编辑器
按 Win + R 键,输入 regedit 并回车。若弹出用户账户控制提示,点击“是”。
步骤2:定位到PrintNotify键值
在地址栏中输入以下路径,或手动导航至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
截图描述:注册表编辑器窗口左侧树状结构中,展开System > CurrentControlSet > Control,找到Print文件夹。
步骤3:创建或修改DWORD值
- 在右侧空白处右键,选择 新建 > DWORD (32位) 值。
- 将名称命名为
RpcAuthnLevelPrivacyEnabled。 - 双击该值,将数值数据修改为 0。
- 确保基数选择为“十六进制”或“十进制”均可,只要值为0即可。
截图描述:右侧列表中出现RpcAuthnLevelPrivacyEnabled项,双击后弹出编辑DWORD窗口,数值数据框中输入0。
步骤4:重启打印服务
无需重启整机,只需重启打印后台处理程序服务:
1. 按 Win + R,输入 services.msc。
2. 找到 Print Spooler 服务。
3. 右键选择 重新启动。
解决方案二:配置组策略限制安全更新
如果环境中有域控制器,可以通过组策略统一下发配置,避免逐台修改注册表。
步骤1:打开组策略管理
在服务器上运行 gpmc.msc 或在客户端运行 gpedit.msc。
步骤2:导航至打印机策略
路径:计算机配置 > 管理模板 > 打印机。
步骤3:启用配置
找到策略 配置RPC连接身份验证级别(Configure RPC Connection Auth Level)。双击打开,选择已启用,并在选项中设置为无或低。
注意:此方法可能降低RPC通信的安全性,请在内网可信环境中使用。
验证与测试
完成上述任一方案后,执行以下操作验证修复效果:
- 在客户端上,进入 设置 > 蓝牙和其他设备 > 打印机和扫描仪。
- 删除之前添加失败的打印机。
- 点击 添加设备 或 手动添加,搜索并重新连接共享打印机。
- 发送测试页打印,确认是否成功输出。
注意事项
- 安全风险:禁用RPC隐私强制认证会增加本地网络中潜在的攻击面。建议仅在内部受信任网络中实施,并确保防火墙规则限制了不必要的RPC端口暴露。
- 系统更新:微软可能会在未来的累积更新中覆盖此注册表设置。若更新后问题复现,需重新应用注册表修改。
- 替代方案:对于高安全性要求的场景,建议部署专用打印服务器或使用IP直接打印(IPP/Port 9100),避免使用Windows共享协议。
总结
错误0x0000011b是Windows安全机制升级带来的典型兼容性痛点。通过修改注册表禁用RPC强制认证,IT管理人员可以快速恢复内部打印共享功能。建议在实施前备份注册表,并根据企业安全策略权衡便利性与安全性。