共享打印机 0x00000709、0x0000011b、0x00000bc4 修复
::: tip
更新2021年10月补丁后,共享网络打印机会出现如图0x00000709错误,通常的方法是卸载最新的补丁。
但卸载补丁用时很长,这个替换补丁几秒就能解决!
仅适用于 x64 系统!
Win11 21H2(22000)
Win10:21H2(19044)/21H1(19043)/20H2(19042)/2004(19041)/1909(18363)/LTSC(1809)/LTSB(14393)/LTSB(10240)
Win8.1(9600)
Win7 SP1(7601)
静默替换!只需几秒钟。已添加的网络共享打印机即可正常使用,未添加的可正常添加。
除Win11版本为22000.1,其余版本均为2021年8月份版本。
==共享打印机修复下载==
:::
::: warning
以下仅展示批处理代码,还需配合补丁使用才能修复,请点击下载链接下载
:::
::@ECHO OFF &
PUSHD "%CD%" && CD /D "%~DP0"
Title Fix Share Printer
::停止打印服务
net stop spooler
ver|find "10.0.2262" >NUL && set "v=22621" &goto :Start
for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Image Version:"') do set "osver=%%a"
if "%osver%" GEQ "10.0.22000.348" goto RegAdd
if "%osver%" GEQ "10.0.19044.1387" goto RegAdd
if "%osver%" GEQ "10.0.19043.1387" goto RegAdd
if "%osver%" GEQ "10.0.19042.1387" goto RegAdd
if "%osver%" GEQ "10.0.19041.1387" goto RegAdd
if "%osver%" GEQ "10.0.18363.1977" goto RegAdd
if "%osver%" GEQ "10.0.17763.2330" goto RegAdd
if "%osver%" GEQ "10.0.14393.4771" goto RegAdd
if "%osver%" GEQ "10.0.10240.19145" goto RegAdd
echo %osver%|find "10.0.2200" >NUL && set v=22000
echo %osver%|find "10.0.1904" >NUL && set v=19044
echo %osver%|find "10.0.1836" >NUL && set v=18363
echo %osver%|find "10.0.1776" >NUL && set v=17763
echo %osver%|find "10.0.1439" >NUL && set v=14393
echo %osver%|find "10.0.1024" >NUL && set v=10240
echo %osver%|find "6.3.9600" >NUL && set v=9600
echo %osver%|find "6.1.7601" >NUL && set v=7601
:Start
set "win32spl=%Windir%\System32\win32spl.dll"
set "localspl=%Windir%\System32\localspl.dll"
set "spoolsv=%Windir%\System32\spoolsv.exe"
ping -n 2 127.1>nul
takeown /f "%win32spl%" >nul 2>nul
icacls "%win32spl%" /grant everyone:F >nul 2>nul
copy /y "%~dp0%v%\win32spl.dll" "%win32spl%" >nul 2>nul
if "%v%" NEQ "22621" goto :RegAdd
takeown /f "%localspl%" >nul 2>nul
icacls "%localspl%" /grant everyone:F >nul 2>nul
copy /y "%~dp0%v%\localspl.dll" "%localspl%" >nul 2>nul
takeown /f "%spoolsv%" >nul 2>nul
icacls "%spoolsv%" /grant everyone:F >nul 2>nul
copy /y "%~dp0%v%\spoolsv.exe" "%spoolsv%" >nul 2>nul
:RegAdd
Reg.exe add "HKLM\System\CurrentControlSet\Control\Print" /v "RpcAuthnLevelPrivacyEnabled" /t REG_DWORD /d "0" /f
Reg.exe add "HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v "RestrictDriverInstallationToAdministrators" /t REG_DWORD /d "0" /f
::重启打印服务
net start spooler
rd /q /s *.*
del %0
注册表注解
0x0000011b
rem 支持共享打印机驱动安装
rem 组策略;计算机配置 > 管理模板 > 打印机 > 将打印驱动程序安装限制为管理员;已禁用(21H2 19044.1826)
reg add "HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" /v "RestrictDriverInstallationToAdministrators" /t REG_DWORD /d "0" /f
::: tip
RestrictDriverInstallationToAdministrators 是 Windows 操作系统中的一个组策略设置,用于限制设备驱动程序的安装权限。当该设置启用时,只有具有管理员权限的用户才能安装设备驱动程序,普通用户无法安装。这样可以有效地防止恶意软件通过安装驱动程序来获取系统权限,提高系统的安全性。
需要注意的是,启用该设置可能会对系统的兼容性产生影响,某些设备驱动程序可能无法正常安装或运行。如果需要安装特定的设备驱动程序,可以暂时禁用该设置,安装完成后再重新启用。
:::
rem 关闭安全策略
reg add "HKLM\System\CurrentControlSet\Control\Print" /v "RpcAuthnLevelPrivacyEnabled" /t REG_DWORD /d "0" /f
::: tip
RpcAuthnLevelPrivacyEnabled 是 Windows 操作系统中的一个注册表项,用于控制 RPC 的安全级别。当该项的值为 1 时,表示启用了 RPC 隐私级别安全,RPC 会使用加密来保护通信内容,提高了通信的安全性。如果该项的值为 0,则表示禁用了 RPC 隐私级别安全,通信内容可能会被窃听或篡改,安全性较低。
该项的默认值为 1,即默认启用 RPC 隐私级别安全。
:::
Win11 22h2 0x00000bc4
相关链接
rem 组策略;计算机配置 > 管理模板 > 打印机 > 配置RPC连接设置;已启用;命名管道上的 RPC(Win11)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v "RpcUseNamedPipeProtocol" /t REG_DWORD /d 1 /f
::: tip
RpcUseNamedPipeProtocol 是 Windows 操作系统中的一个注册表项,用于控制打印机 RPC 使用的协议类型。当该项的值为 1 时,表示打印机 RPC 使用命名管道协议,当该项的值为 0 时,表示打印机 RPC 使用 TCP/IP 协议。
打印机 RPC 使用命名管道协议可以提高打印机的性能和稳定性,因为命名管道协议比 TCP/IP 协议更快速和可靠。但是,在某些情况下,如果网络环境不支持命名管道协议,可能会导致打印机无法正常工作。因此,在修改 RpcUseNamedPipeProtocol 注册表项之前,需要仔细考虑网络环境和打印机的具体情况。
:::
常见打印机错误
如果提示无法保存打印机设置,操作无法完成(错误 0x000006d9) ,则需要开启 Windows firewall/Windows Defender Firewall(mpssvc) 服务,并确保服务 Computer Browser(Browser)、Server(LanmanServer)、Print spooler(Spooler) 是开启的;
防火墙开启时,应在防火墙设置面板选项 允许应用或功能通过 Windows Defender 防火墙 中查看 文件和打印机共享 是否设置为允许,如果未允许则勾选设置为允许
::: tip
Windows Firewall 是Windows操作系统自带的防火墙,它可以防止网络攻击和恶意软件的入侵。在打印机共享中,如果Windows Defender Firewall没有正确配置,可能会阻止其他计算机访问共享的打印机。
Computer 服务是Windows网络浏览器服务,它负责浏览和管理网络上的计算机和资源。在打印机共享中,如果Computer服务没有运行或者没有正确配置,可能会导致网络中的打印机无法被发现或者无法访问。
Server 服务是Windows中的文件和打印机共享服务,它允许用户共享计算机上的文件和打印机。在打印机共享中,如果Server服务没有运行或者没有正确配置,可能会导致打印机无法被共享或者无法被访问。
Print Spooler 是打印后台处理服务,也称为打印池服务,即管理所有本地和网络打印队列及控制所有打印工作;如果此服务被停用,本地计算机上的打印将不可用。
:::
打印服务自动停止
打印任务堆积过多
堆积的打印任务可能导致打印服务崩溃。停止打印服务,然后删除打印队列中的所有任务,重新启动打印服务。
net stop spooler
del /F /Q %systemroot%\System32\spool\PRINTERS\*
net start spooler
手动删除打印任务
Win+R 快捷键 运行输入 services.msc 进入服务管理。
禁用打印机服务 Print Spooler,以便可以删除打印机队列中的所有打印任务。
Win+R 快捷键 运行输入 spool 进入 C:\Windows\System32\spool 目录下,删除 PRINTERS目录下的文件。
启用打印服务。
服务崩溃
打印服务可能由于错误或冲突而崩溃,重启打印机服务。
打印机驱动
打印机驱动与操作系统不兼容,或者打印机驱动文件损坏或丢失,可能会导致打印服务自动停止。
卸载并重新安装打印机驱动程序,或者更新打印机驱动程序以确保其与您的操作系统兼容。
https://zhuanlan.zhihu.com/p/594624447
https://www.zhihu.com/zvideo/1437421525113167872
NT6打印机