起因:昨晚在win7共享打印机电脑升级了补丁,今天下午同事电脑(未升级过补丁)打印出现0x11b,但另一台升级了补丁却是正常连接的,打印一切OK。
过程:直接百度上看到的内容大体逻辑都是卸载有关打印机的补丁,但win7找不到具体的补丁型号。所以直接换成谷歌搜索,找到不错的解决方案,并把该方案做成自动化脚本,一步到位。
其他发现:https://learn.microsoft.com/en-us/answers/questions/563223/windows-cannot-connect-to-the-printer-error-0x0000 在微软官方论坛上却没看到这方面的详细内容说明,说实话挺意外的。
灵感来源:
https://www.technipages.com/how-to-fix-
windows-printer-error-0x0000011b/
https://www.partitionwizard.com/partitionmagic/error-0x0000011b.html
补上:
https://www.technipages.com/how-to-fix-
windows-printer-error-0x0000011b/
附源码(补上对应注释),在升级过补丁的共享打印主机上运行该脚本即可。
home.php?mod=space&uid=251666 以管理员权限运行cmd
@%1 C:\Windows\SysWOW64\mshta.exe vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0::","","runas",1)(window.close)&&exit
@cd /d "%~dp0"
@echo off
@rem 参考链接
@REM https://www.technipages.com/how-to-fix-windows-printer-error-0x0000011b/
@REM https://www.partitionwizard.com/partitionmagic/error-0x0000011b.html
@rem 禁用配置打印服务的远程过程调用(RPC)身份验证级别
home.php?mod=space&uid=120276 add "HKLM\SYSTEM\CurrentControlSet\Control\Print" /v "RpcAuthnLevelPrivacyEnabled" /t REG_DWORD /d 0 /f
@rem 卸载博客解决方案涉及到的补丁。
@wusa /uninstall /kb:5005565 /quiet
@wusa /uninstall /kb:5005566 /quiet
@wusa /uninstall /kb:5005568 /quiet
@wusa /uninstall /kb:5022497 /quiet
@wusa /uninstall /kb:5012170 /quiet
@wusa /uninstall /kb:5023706 /quiet
@wusa /uninstall /kb:5007186 /quiet
@rem 关闭打印机服务
home.php?mod=space&uid=35508 stop spooler
@rem 清理打印池
home.php?mod=space&uid=324026 /f /s /q C:\Windows\System32\spool\PRINTERS\*
@rem 启动打印机服务
@net start spooler
@pause