通用打印故障排除 - 调试打印错误

概述

用户在使用通用打印时可能会遇到的一些问题示例。

  • 最终用户无法在其 Windows 设备上添加打印机。
  • 用户正在尝试打印文档,但打印机上没有任何打印内容。
  • 打印选项和/或打印质量存在问题。

本文重点介绍调试用户尝试打印但打印机上没有打印内容的问题。 本文档中的步骤与 打印作业的阶段内联。

步骤 0:通用打印门户 - 检查打印作业是否已成功排队?

打印管理员通过 通用打印门户集中访问所有打印机。 打印管理员应检查的第一件事是 – 打印作业是否甚至在通用打印门户上可见。 为此,请按以下步骤操作:

  1. 打开 通用打印门户 并使用打印管理员凭据登录。
  2. 转到列出所有打印机的页面。
  3. 搜索相应的打印机并单击它。
  4. 转到打印机的“作业”页,查看作业发生的情况。

方案 1:作业不在“作业”视图中

如果用户最近打印了(不到 10 天),并且相应的打印作业甚至无法在门户中显示,则很可能该作业在用户的设备上失败。

步骤 1-1:检查通用打印中的打印机状态和配置

通用打印门户中,首先检查用户尝试打印的打印机共享。

  1. 转到 “打印机共享”页
  2. 找到相应的打印机共享并单击其名称。
  3. 转到 Access control 打印机共享的页面,并确保给定用户仍具有访问权限。
  4. 转到 Overview 打印机共享的页面,然后单击 Printer name
  5. 打印机: Status如果状态为 Stopped “状态”,则用户可能无法将作业发送到打印机。
  6. 打印机: Is accepting jobs如果值为“否”,则用户可能无法将作业发送到打印机。

步骤 1-2:检查用户是否具有访问通用打印的合格许可证

确保用户拥有一个 符合通用打印条件的许可证

步骤 1-3:对用户的 Windows 设备进行故障排除

从基本检查开始,如下所示:

  1. 用户的 Windows 设备是否有权访问 Internet?
  2. 是否有防火墙阻止客户端访问通用打印 URL?
  3. 验证用户的 Windows 设备是否仍连接到 Microsoft Entra ID。

如果所有配置都正常,则可能需要 收集网络跟踪。 收集网络跟踪时,请确保从用户的设备中删除打印机,重新添加打印机,然后将其打印到该设备。

在网络跟踪中,可以查找可能失败的调用。 通常,API 调用的 HTTPS 响应代码或“响应”部分可以提供所需的信息,以了解为什么将打印作业上传到通用打印失败。

如果作业的网络调用也未显示在 Fiddler 中,请确保已正确配置 Fiddler。 如果它仍然未显示,则可能需要联系Microsoft 支持部门。 支持团队可以帮助从用户设备上的 Windows 后台处理程序收集更多日志。

方案 2:作业位于“作业”视图中。 打印机通过通用打印连接器注册。

如果打印作业位于通用打印门户中,则可以利用 “作业”页上 的信息来了解打印作业可能发生的情况。 以下是一些示例:

  • Status 的打印作业提供有关作业在旅程中的位置的信息。 了解不同的 打印作业状态值以及它们如何映射到打印作业旅程
  • Status code:如果打印作业具有 Aborted 状态,则列下 Status code 可能有错误代码。 了解 打印作业错误代码
  • 其他列:
    • Created timeUpload time 指示作业已在通用打印服务中排队,打印机通知已准备就绪。 对于连接器,通用打印服务会将通知发送到连接器(代表打印机与通用打印服务通信)。 如果连接器正忙于处理同一打印机上的另一个作业,则它会等待作业完成,然后再对通知执行进一步操作。
    • Printer acknowledged timeDownload timeFinal time 连接器(或打印机)更新。 如果这些字段为空,则需要在连接器上进行故障排除。

步骤 2-1:确定要排除故障的打印作业。

给定打印机上可能有多个作业需要调查。 但有时,报告的作业可能不是有问题的作业。 它可以是可能在作业之前发送的作业。

若要标识要调试的打印作业,请转到 通用打印门户,并转到相应的打印机的“打印作业”页。 按以下顺序查找作业:

  1. 检查用户报告的作业是否具有 Status Aborted。 如果中止,请检查相应的 Status Code
    • 很可能会有非零值。 单击下面的 Status Code 值,查找错误和相应的缓解措施。
    • 如果状态代码为零,则最类似于作业的发送时间很长,并且可能在连接器打印和更新其状态之前过期。 要求用户再次打印到同一打印机。
    • 如果需要,请进一步调查文档中提到的内容。
  2. 如果作业的状态为 Processing,请使用此作业的 ID 进一步调查。
  3. 如果作业的状态为 Pending,则查找仍具有状态 Processing的最新作业。
  4. 如果没有处于处理状态的作业,则选取最早 Pending 的作业。

步骤 2-2:标识与通用打印打印机关联的连接器。

在连接器上进行调试之前,打印管理员可能需要标识与给定打印机关联的连接器。 为此,请按以下步骤操作:

  1. 在通用打印门户,使用打印管理员凭据登录,并转到特定的打印机页面。
  2. 在打印机的页面中,转到 Connectors 该页。 可在此处查看连接器名称。
  3. 单击连接器的名称可查看更多详细信息。
  4. 可以使用该字段 Hostname 访问托管连接器的设备。

若要对其他打印管理员进行故障排除,请登录到连接器主机(例如使用远程桌面)。

步骤 2-3:检查连接器基础知识。

确保连接器已正确设置,并且有权访问通用打印服务 URL。 连接器故障排除清单

如果组织使用代理,请仔细查看 连接器先决条件 。 由于连接器进程作为服务运行,因此不会使用用户级自动代理设置。 必须对所有通用打印服务终结点显式允许访问,或根据文档使用配置。

步骤 2-4:打印机是拉取打印队列还是已从另一个打印供应商启用安全发布?

请参阅有关如何配置连接器以模拟和将给定作业的用户信息传递给 Windows 后台处理程序的文档。 请注意,传递连接器上的用户信息仅适用于混合Microsoft Entra ID 环境。

建议与打印供应商合作,进一步排查此问题。

步骤 2-4-1:安全发布和挂起的作业

对于具有安全发布的打印机,作业可能会在用户检索到打印机之前保持等待状态。 在用户释放打印作业之前,其状态将保持不变 Processing。 同一打印机上的其他作业将继续处于 Pending 状态。

步骤 2-5:打印管理控制台 - 检查打印机是否联机并打印

在连接器主机上,启动 Windows 打印管理控制台并检查相应的打印机状态。

  1. 在连接器主机上启动 Windows 打印管理控制台。
  2. 查找可能正在处理打印作业时出现问题的打印机。
  3. 检查打印机是否处于错误状态。 如果是,这可能是作业中止或停滞在云队列中的原因。
  4. 检查打印机上的队列长度(挂起的作业数)。 如果队列长度较大且未清除,则可能需要取消队列中的所有作业并清除。 这可能会中止停滞的作业并打开队列。
  5. 通过将“测试打印”页直接从连接器主机发送到打印机来测试打印机。

步骤 2-6:连接器主机上的任务管理器

任务管理器有助于查看连接器主机上运行的进程和资源消耗。

  1. Windows Task Manager 连接器主机上启动。
  2. 转到 Services 选项卡。
  3. 查找服务 - Printfliterpipelinesvcprintisolationhost.exe。 如果这些服务的任何实例具有较高的内存脚印(超过几个 MB)。 这可能表示打印机驱动程序的内存泄漏。 选择这些进程并单击 End Process。 它将清除资源,这些服务将自动重启。
  4. 监视此打印机上的新作业流。

步骤 2-7:连接器主机上事件查看器

在连接器本身上,可以执行以下任务,以查看作业的状态或已Aborted发生的情况Processing

在连接器主机上打开 Windows 事件查看器,

  1. 检查连接器事件:打开连接器事件日志,方法是转到“应用程序和服务日志->Microsoft-Windows-PrintConnector>> -> 操作”节点。 在这里,可以看到连接器上执行的各种打印作业,以及发生故障的阶段。 若要检查工作旅程,请执行以下操作:
    1. Find单击右侧面板中的选项
    2. 放置从通用打印门户获取的作业 ID
    3. 单击“查找下一步”将帮助你浏览特定于此作业的日志。
    4. 甚至可以查看有关此作业日志的其他事件,以检查可能同时发生的一些其他内容。
    5. 在事件日志中查找的一些有趣的事件 ID 包括:
      • 事件 ID 10 或任务类别“PrintSpooling”
      • 事件 ID 102 提供 PrintJobSummary 以及连接器收到的作业的详细信息
      • 事件 ID 104 或任务类别“TraceWarning”
      • 事件 ID 106 或任务类别“TraceError”
  2. 检查 Windows 打印后台处理程序事件:保持事件查看器并打开打印日志。 转到“Windows Logs-Application>”节点。
    1. Filter the Current Log单击并单击Event Source下拉列表,向下滚动列表并选择Universal Print。 单击“确定”。
    2. 如果打印作业出错,可以在“打印错误”文档找到其更多详细信息。