1、在打印机主机和客户端电脑上,同时按 Win + R 键,输入 regedit,回车打开注册表编辑器(需要管理员权限)。
导航到以下路径:textHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
2、在右侧空白处右键 → 新建 → DWORD (32位) 值,命名为 RpcAuthnLevelPrivacyEnabled。
双击该值,将数值数据设置为 0(十六进制)。
3、点击确定,关闭注册表编辑器。
4、重启电脑(或在服务中重启 Print Spooler 服务:Win + R 输入 services.msc,找到 Print Spooler,右键重启)。
5、重新尝试连接共享打印机(在客户端:设置 → 设备 → 打印机和扫描仪 → 添加打印机,或通过网络浏览 \主机名 添加)。

0x00011b.bat

新建文本文档,复制下面内容保存,修改后缀为bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@echo off
:: ========================================================
:: Zampto 打印机共享错误 0x0000011b 修复脚本
:: 作用:修改注册表 + 重启 Print Spooler 服务
:: 适用:Windows 10/11(包括 21H2),需在【打印机主机】和【客户端】两台电脑上都运行
:: 注意:必须以管理员身份运行(脚本会自动请求)
:: ========================================================

:: 检查并请求管理员权限
net session >nul 2>&1
if %errorLevel% == 0 (
echo 已获得管理员权限,继续执行...
) else (
echo 请求管理员权限...
goto UACPrompt
)

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B

:: 主操作:添加/修改注册表值
echo.
echo 正在修改注册表...
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print" /v RpcAuthnLevelPrivacyEnabled /t REG_DWORD /d 0 /f >nul
if %errorLevel% == 0 (
echo 注册表修改成功(RpcAuthnLevelPrivacyEnabled = 0)
) else (
echo 注册表修改失败,请手动检查!
pause
exit /B
)

:: 重启 Print Spooler 服务
echo.
echo 正在重启 Print Spooler 服务...
net stop spooler >nul 2>&1
net start spooler >nul 2>&1
if %errorLevel% == 0 (
echo Print Spooler 服务重启成功
) else (
echo Print Spooler 服务重启失败,请手动重启(services.msc)
)

:: 完成提示
echo.
echo ========================================================
echo 操作完成!
echo 建议:重启电脑以确保完全生效。
echo 完成后,在客户端重新尝试添加共享打印机。
echo ========================================================
pause