某些 Windows 用户在尝试使用网络共享打印机打印内容时遇到0x0000011b错误。这个问题是在微软推送最新的安全更新后开始出现的。该问题在 Windows 10 和 Windows 11 上持续存在。
彻底调查此问题后,事实证明,问题的发生是由于 Microsoft 推送了一系列安全补丁,以保护 Windows 10 和 Windows 11 用户免受涉及 Windows Print Spooler Spoofing 的漏洞的侵害。
然而,当 Microsoft 发布最终补丁来敲定此漏洞的棺材时(9 月 14 日),它还通过干扰网络打印机的 TPC 身份验证级别产生了不同的问题。
截至目前,受影响的用户已经能够找到这个问题的根源。它实际上是一个名为RpcAuthnLevelPrivacyEnabled的注册表值,可以在以下位置找到:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print
在将此更改作为每个 Windows 设备的默认行为强制执行后,此打印错误开始主要影响未设置为在 Windows 域上使用 Kerberos 设置的小型企业和家庭网络。
如果您或您的组织受到0x0000011b错误的影响,您可以使用多种不同的方法来处理该问题:
- 安装 Microsoft 提供的修补程序——虽然目前没有合适的修补程序可用,但在您阅读本文时,Microsoft 可能会发布一个修补程序来修补这两个漏洞,而不会产生意想不到的后果。考虑到这一点,我们建议您从安装每个待定更新开始。
- 卸载有问题的安全更新——首先卸载导致问题的 Windows 安全更新将处理 0x0000011b 错误,但这不是解决问题的理想方法,因为您的网络仍然容易受到 PrintNightmare 和 MSHTML 的攻击——这两个Microsoft 希望您防范的漏洞。
- 禁用 CVE-2021-1678 的迁移——处理此特定问题的最佳方法(至少在 Microsoft 修复安全补丁的影响之前)是禁用 CVE-2021-1678 的迁移。这将确保您的网络在解决 0x0000011b 错误时不会暴露于这两个漏洞。
现在您已经熟悉了 0x0000011b 的原因和修复方法,让我们动手并应用它们以彻底解决问题。
注意:以下所有修复都适用于 Windows 10 和 Windows 11。
安装每个挂起的更新
如果您的 Windows 10 或 Windows 11 计算机上仍有待安装的待安装更新,我们的建议是首先确保您正在利用最新的修补程序。
微软已经确认他们正在开发一个修补程序来阻止0x0000011b, 但该修补程序尚未到达 Windows 10 或 Windows 11。
但是当它到来时,它很可能会通过 WU 累积更新到达。以他们惯常的方式,Microsoft 可能会在未宣布的情况下开始将其部署到某些 Windows 用户群——发生这种情况时,我们可能无法足够快地更新这篇文章。
考虑到这一点,请按照以下说明安装每个挂起的更新,以便为 0x0000011b 安装修补程序:
- 按Windows 键 + R打开“运行”对话框。在文本框中,键入“ms-settings:windowsupdate”并按Enter以打开“设置”菜单的“Windows 更新”页面。
注意:此命令适用于 Windows 10 和 Windows 11。 - 进入 Windows 更新屏幕后,移至右侧菜单并单击立即下载(如果有新更新可用)。
注意:如果没有等待安装的更新,请单击“检查更新”以触发扫描。 - 等到每个挂起的更新都安装完毕,然后重新启动您的 PC 并等待下一次启动完成。
- 在 Windows 10 或 Windows 11 计算机重新启动后,只需重复之前导致 0x0000011b 的操作即可。
如果问题仍未解决或 Microsoft 修复程序仍未到达,请向下移动到下面的下一个可能的修复程序。
为本地端口安装本地打印机驱动程序
一旦您确保您运行的是适用于您的 Windows 版本的最新 Windows 更新,避免 0x0000011b 错误同时保持免受PrintNightmare和MSHTML漏洞的保护的最有效方法是将给您带来问题的打印机添加到本地端口。
许多用户在尝试连接他们的低端网络打印机时遇到此错误,确认此方法有效。
您可以通过访问经典控制面板界面并从“设备和打印机”屏幕添加新打印机(使用本地端口驱动程序)来实施此修复。
有关如何执行此操作的分步说明,请按照以下说明操作:
- 按Windows 键 + R打开“运行”对话框。接下来,在刚刚出现的文本框中输入“control” ,然后按回车键打开经典的控制面板界面。
- 进入经典控制面板界面后,使用搜索功能(屏幕右上角)搜索“设备和打印机”。
- 在搜索结果中,单击设备和打印机。
- 在“设备和打印机”屏幕中,单击窗口顶部功能区栏中的“添加打印机” 。
- 进入第一个屏幕后,等待初始扫描完成,然后单击我想要的打印机未列出(在驱动程序框下)。
- 在下一个屏幕中,选择 使用手动设置添加本地打印机或网络打印机 ,然后再次单击下一步。
- 接下来,选择 Create a new power 超链接,然后从相关的下拉菜单中选择Local Port 。
- 再次单击“下一步” ,然后继续并插入文件路径,后跟网络打印机的名称。EG \\凯文\大炮 244
- 正确添加端口名称后,单击“确定”保存更改。
- 从下一个菜单中,继续并从左侧栏中选择打印机的制造商名称,然后从右侧栏中选择正确的驱动程序并再次单击下一步。
注意:如果打印机驱动程序不在此列表中,您也可以在本地下载此驱动程序并单击“从磁盘安装”按钮从本地文件夹加载它。此外,您可以单击Windows 更新,以便能够将所有可用的驱动程序直接下载到该界面中。 - 最后,为您要安装的本地打印机驱动程序选择一个名称,然后再次单击“下一步”,等待安装完成。
- 点击完成后,您将看到打印机已经在Devices and Printers下列出。您可以继续打印测试页以确保一切运行顺利。
如果问题仍未解决,请向下移动到下面的下一个可能的修复程序。
禁用 CVE-2021-1678 缓解措施
截至目前(假设 Microsoft 尚未通过修补程序纠正该问题)是禁用 CVE-2021-1678 缓解措施,恢复最初产生 0x0000011b 错误的更改。
这种方法是两全其美的方法,因为它可以解决尝试使用联网打印机时的问题,并且还可以确保您不会暴露在 PrintNightmare 和MSHTML漏洞之下 。
您需要做的是使用注册表编辑器(存在于 Windows 10 和 Windows 11 上)创建一个名为RpcAuthnLevelPrivacyEnabled 的新 32 位 DWORD ,并将其值设置为 0(这将完全禁用 CVE-2021-1678 缓解措施) .
如果您正在寻找有关如何执行此操作的具体分步说明,请按照以下说明进行操作:
注意:无论您使用的是 Windows 10 还是 Windows 11,下面的说明都是相同的。
- 按Windows 键 + R打开“运行”对话框。接下来,在文本框中键入“regedit” ,然后按Ctrl + Shift + Enter打开具有管理权限的注册表编辑器。
- 出现用户帐户控制提示后,单击“是”以授予管理权限。
- 进入注册表编辑器后,使用左侧的菜单导航至以下位置:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print
注意:您可以手动导航到此位置(通过单击每个键),也可以将完整路径粘贴到顶部的导航栏中,然后按Enter立即到达那里。
- 进入正确位置后,确保选择了打印键,然后移至右侧部分,右键单击空白区域并选择新建 > 32 位) DWORD 值。
- 接下来,将新创建的注册表值命名为RpcAuthnLevelPrivacyEnabled 并按Enter 键保存更改。
- 最后,双击新创建的RpcAuthnLevelPrivacyEnabled值。
- 进入“编辑”菜单后,将“基数”设置为“十六进制” ,将“值”数据设置为0,然后单击“确定”保存更改。
- 完成此修改后,重新启动您的 PC 并重复之前导致 0x0000011b 的操作。
如果问题仍未解决,请向下移动到下面的最终潜在修复。
卸载有问题的更新 (KB5005565)
如果您想从根本上解决问题,唯一的方法就是卸载首先导致问题的有问题的更新 KB5005565。
但是,我们的建议是避免此解决方案(如果可能),因为卸载 KB5005565 也意味着您的 PC 仍然容易受到此安全更新旨在保护您免受的两个漏洞(PrintNightmare 和 MSHTML)的攻击。
如果您决定采用这种方法,请将此修复视为暂时性的——很可能,该问题将通过 Windows 10 或 Windows 11 的累积更新得到纠正。
但在此之前,您可以通过访问 Windows 更新历史记录并为整个工作组卸载 Microsoft Windows 安全更新 (KB5005565) 来确保在您尝试使用家庭或网络打印机时不再发生0x0000011b错误。
请按照以下说明逐步说明如何操作:
注意:以下说明是通用的,无论您使用的是 Windows 10 还是 Windows 11 都适用。
- 按Windows 键 + R打开“运行”对话框。接下来,在文本框中键入“appwiz.cpl” ,然后按Enter 键打开“程序 和功能”菜单。
注意:如果出现用户帐户控制提示,请单击“是”以授予管理权限。 - 进入“程序 和功能”菜单后,单击 左侧菜单中的“查看已安装的更新” 。
- 如果系统再次提示您授予管理权限,请单击“是”按钮。
- 进入“已安装的更新”选项卡后,查看所有已安装的更新并找到KB5005565更新。
- 设法找到它后,右键单击它并从刚刚出现的上下文菜单中选择“卸载” 。
- 在下一个提示中,单击“是”以确认卸载有问题的安全更新。
- 卸载完成后,重启电脑,下次启动完成后看问题是否解决。