同事把共享打印机发过来,双击连接,弹窗:无法连接打印机,错误0x0000011b。重装驱动没用,重启两台机器也没用,两台电脑各自连别的打印机都正常。网上不少人是搜成0*0000011b无法连接打印机才找到答案的,实际错误码里的星号位置应该是字母x。

根子在哪台机器上

注意方向:问题一般出在提供共享的那台主机上,而不是连不上的客户端。当年微软修补打印假脱机相关漏洞时收紧了RPC身份验证级别,主机打完补丁,客户端没跟上,握手失败就报这个码。所以会出现两台电脑单独用都正常,一共享就报错的怪现象。

两种处理思路

  • 先更新系统:把主机和客户端都打到较新的补丁级别,多数情况下问题自动消失,这是推荐做法。
  • 改主机注册表:临时救急可以在共享主机上调整RPC隐私级别设置。

注册表操作在主机上做:运行输入regedit打开编辑器,定位到HKEY_LOCAL_MACHINE下的SYSTEM、CurrentControlSet、Control、Print这一层,新建一个DWORD值,名称填RpcAuthnLevelPrivacyEnabled,数值保持0,重启电脑或在服务里重启Print Spooler,客户端再试连接。动手前先备份:编辑器左上角文件选导出,存一份到桌面,改坏了双击就能还原,把这个值删掉或改回1也会恢复默认。

把验证级别调低等于关掉一层保护,做完这步的主机别暴露在公网环境。排查完条件允许还是走补丁更新的路子更稳妥。

还不行再查这几处

主机侧确认Print Spooler服务在运行,客户端删掉旧打印机重新添加;两台机器最好在同一网段,工作组一致;连接时弹出的用户名密码要填主机的登录账号,密码为空的账户默认不让别人连,要么给账户设个密码要么调整共享策略;64位和32位系统混连时,主机上还要额外装对应架构的驱动。家庭版和专业版的菜单路径略有差异,找不到入口就在设置里搜打印机。