方法一

1.找一台未更新前的或者卸载更新的正常电脑,C:\Windows\System32\Win32spl.dll拷贝出来,命名为Win32spl.dll.good【文章底部提供下载】 在更新后的问题电脑上操作:
2.将Win32spl.dll.good放入c盘根目录。
3.新建文本文档,拷贝以下代码,保存,修改后缀为.bat

@echo off
REM 10.0.19041.1288 bad file comes from KB5006670

:_start

copy C:\win32spl.dll.good C:\Windows\System32 /y

:wmicVersion pathToBinary [variableToSaveTo]
setlocal
set "item1=C:\Windows\System32\win32spl.dll"
set "item1=%item1:\=\\%"
set "item2=C:\Windows\System32\win32spl.dll.good"
set "item2=%item2:\=\\%"

for /f "usebackq delims=" %%a in (`"WMIC DATAFILE WHERE name='%item1%' get Version /format:Textvaluelist"`) do (
for /f "delims=" %%# in ("%%a") do set "%%#")
set existver=%version%
set version=
for /f "usebackq delims=" %%a in (`"WMIC DATAFILE WHERE name='%item2%' get Version /format:Textvaluelist"`) do (
for /f "delims=" %%# in ("%%a") do set "%%#")
set goodver=%version%
set version=
echo %existver%
echo %goodver%

IF %goodver%==%existver% echo "Files are same version" && goto _end
IF "%existver%"=="10.0.19041.1288" echo "Files are bad version" && goto _fixspooler
IF NOT %goodver%==%existver% echo "Files are different version" && goto _end

:_fixspooler
net stop spooler
timeout /t 3 /nobreak
Takeown /A /F C:\Windows\System32\win32spl.dll
icacls "C:\Windows\System32\win32spl.dll" /grant builtin\administrators:F
icacls "C:\Windows\System32\win32spl.dll" /grant SYSTEM:F
ren C:\Windows\System32\win32spl.dll win32spl-%existver%.dll
copy C:\Windows\System32\win32spl.dll.good C:\Windows\System32\win32spl.dll /Y
net start spooler
goto _end

:_end
exit

4.执行bat批处理文件。

方法二
卸载KB5006670补丁,【控制面板】-【卸载程序】-【查看已安装的更新】,找到KB5006670右键卸载。

点击下载

最后修改:2021 年 11 月 25 日
如果觉得我的文章对你有用,请随意赞赏