本文指导你完成各种方案,帮助你排查和自行解决打印相关问题。
打印作业失败
本部分介绍的一些方案:
- 客户端上的应用程序在打印时停止响应。
- 打印作业永远不会到达打印机。
- 打印作业停滞在队列中。
在客户端计算机上执行以下步骤:
-
如果应用程序停止响应,请确定哪个打印驱动程序或打印队列重现问题。
尝试从文本编辑器(如记事本)打印。 此问题是否重现? 如果是,请尝试使用不同的打印驱动程序测试另一个打印队列。 缩小问题范围,了解哪个驱动程序是原因。
-
清除打印机属性表的“高级”选项卡上的“启用高级打印功能”复选框。
-
检查 Spool 文件夹以查看它是否包含任何旧文件。 默认 Spool 文件夹为 %systemroot%\System32\Spool\Printer。
-
重置客户端上的打印后台处理程序 ,然后重试。
-
将打印机驱动程序从 OEM 更新到最新版本。 但是,如果正在使用的驱动程序已是最新版本,请尝试切换到通用内置驱动程序。
无打印输出
- 清除打印机属性的“高级”选项卡上的“启用高级打印功能”复选框。
- 为设备创建打印队列,并测试通过新队列打印。
- 重启后台处理程序服务。
- 将打印机驱动程序从 OEM 更新到最新版本。 但是,如果正在使用的驱动程序已是最新版本,请尝试切换到通用内置驱动程序。
- 检查 Spool 文件夹以查看 ir 是否包含任何旧文件。 打印正常时,打印作业时会删除 Spool 文件夹中的文件。 默认 Spool 文件夹为: %systemroot%\System32\Spool\Printer。
-
可以通过检查
DefaultSpoolDirectory以下注册表子项中的注册表值来验证 Spool 文件夹位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers -
移动 Spool 文件夹中的任何旧文件,以查看问题是否仍然存在。 Spool 文件夹中损坏的文件可能会导致打印后台处理程序服务问题。 注意
可能需要停止打印后台处理程序服务才能从 Spool 文件夹中移动文件。
-
默认情况下,打印后台处理程序服务仅依赖于远程过程调用服务(RpcSs)。 若要验证后台处理程序依赖项,请检查
DependOnService以下注册表子项中的值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler -
验证是否已启动从属服务。 如果除了 RpcS 之外还有其他依赖服务,请编辑
DependOnService注册表值以删除除 RpcS 以外的所有依赖项。 -
有时很难确定打印作业是否正在后台处理。 暂停打印机将允许打印作业,但不打印作业。 这将为你提供时间来验证打印作业是否正在后台打印,从而帮助你进一步缩小故障排除的重点。
-
打印速度缓慢或输出意外
本部分介绍的一些方案:
- 打印作业需要“X”分钟才能完成。
- 用户从所有应用程序打印时遇到缓慢问题。
- 只有 Office 或特定应用程序打印速度较慢。
- 该作业需要很长时间才能完成后台处理程序。
- 作业需要很长时间才能打印。
- 在 Hyper-V、RDS 或 Azure 上打印速度缓慢。
- 尝试通过自定义应用程序打印时,打印速度缓慢。
通过运行 暂停队列 测试来确定出现缓慢的情况:
- 在客户端和服务器上暂停队列。
- 在客户端上,从应用程序发送作业,并测量它创建作业的速度。
- 取消暂停客户端队列,然后测量作业传输到打印服务器上的队列的速度。
- 在打印服务器上取消暂停队列,以测量作业将作业发送到实际打印硬件的速度。 这有助于缩小搜索速度缓慢的位置。
-
检查 Spool 文件夹以查看它是否包含任何旧文件或孤立文件。 打印正常时,在打印作业时会删除 Spool 文件夹中的文件。 默认 Spool 文件夹为: systemroot%\System32\Spool\Printer。
-
可以通过检查以下注册表子项中的 DefaultSpoolDirectory 值来验证 Spool 文件夹的位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers -
检查 %systemroot%\System32\spool\printer* 中是否有任何
.SHD文件或.SPL文件*。 如果有,请执行以下操作:- 运行 MSINFO32.exe并检查 软件环境、 打印作业 ,以查看是否可以确定打印机或作业是否是问题的源。
- MSINFO32仅显示本地打印作业信息。 因此,如果打印后台处理程序尚未停止,则它很可能仅适用于终端服务器打印后台处理程序问题。 停止后台处理程序后,应删除或删除停滞在 Spool 文件夹中的文件。 每当进行手动更改(文件或注册表项)时,后台处理程序至少应停止并重启。
- 移动 Spool 文件夹中的任何旧文件或孤立文件,了解问题是否仍然存在。 Spool 文件夹中损坏的文件可能会导致打印后台处理程序服务问题。 可能需要停止打印后台处理程序服务才能从 Spool 文件夹中删除文件。
-
直观地检查和记录防病毒是扫描 Spool 文件夹
.SHD``.SPL还是文件,还是.TMP文件。 防病毒程序可能会导致许多副作用,例如“拒绝访问”错误和 Spool 文件夹中的打印作业卡住。 -
如果使用打印机池来处理多个作业,并且打印作业需要很长时间才能到达队列的顶部,请考虑向池中添加更多打印机,以将打印作业分发到更大的打印机集。
-
警告
在删除第三方密钥(其中 ABC 是第三方
…\Print\Monitors\<ABC>组件)之前,请验证客户是否在此子项下面定义了 TCP/IP 打印机端口。 此外,还应在注册表中搜索“ABC”条目。 应修改具有“Monitors”=“ABC”注册表字符串的所有打印驱动程序,以便“Monitor”=“(等于无)。- 应启动删除第三方打印组件。 为此,请删除易于删除的打印组件,并且通常不会减少打印功能。 其中包括打印监视器、打印处理器和打印提供程序。
- 在手动从注册表中删除打印组件之前,请始终导出
HKLM\SYSTEM\CurrentControlSet\Control\Print。 然后,重命名该文件以避免.txt意外还原它。
-
.SHD防病毒中创建排除项和.SPL文件。
打印后台处理程序崩溃
- 检查 Spool 文件夹以查看它是否包含任何旧文件。 打印正常时,在打印作业时会删除 Spool 文件夹中的文件。 默认 Spool 文件夹为: systemroot\System32\Spool\Printer。
- 可以通过检查
DefaultSpoolDirectory以下注册表子项中的值来验证 Spool 文件夹位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers - 移动 Spool 文件夹中的任何旧文件,以查看问题是否仍然存在。 Spool 文件夹中损坏的文件可能会导致打印后台处理程序服务问题。 可能需要停止打印后台处理程序服务才能从 Spool 文件夹中删除文件。
- 默认情况下,打印后台处理程序服务仅依赖于 RpcS。 若要验证后台处理程序依赖项,请检查
DependOnService以下注册表子项中的值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler - 验证是否已启动从属服务。 如果除了 RpcS 之外列出了任何其他依赖服务,请编辑
DependOnService注册表值以删除除 RpcS 以外的所有依赖项。 - 由于有时很难确定打印作业是否正在后台打印,因此暂停打印机会让作业进行打印,但不能打印。 它将允许你时间确认打印作业正在后台处理,从而帮助你进一步缩小故障排除范围。
- 验证服务器上是否正在后台处理客户端打印作业的另一种方法是将打印机配置为使用 NUL 端口。 由于 NUL 端口是虚拟端口,而不是实际端口,因此发送到 NUL 的作业不会浪费纸张,并且不会干扰打印到其他已安装端口的打印作业。
- 默认情况下,NUL 端口未列在打印机的可用端口列表中。 但是,可以通过将打印机配置的端口更改为本地端口来添加它,选择“ 新建端口 ”按钮,输入 NUL 作为端口名称,然后选择“ 确定”。 NUL 端口列在打印服务器属性的“端口”列表中,可用于测试任何已安装的打印机。
- 安装 NUL 端口后,使用此端口暂停打印机,然后从客户端打印到打印机。 应会看到正在测试的打印机的打印队列中正在打印作业。 恢复打印机以处理后台打印作业(然后删除后台打印作业)。
- 将第三方驱动程序替换为 Windows 内置驱动程序。 请务必了解,内置驱动程序只有一个源: Windows 分发媒体上随附的Driver.cab 文件。 Windows 目录站点上的驱动程序Microsoft Windows 硬件质量实验室(WHQL)签名,但未经Microsoft测试。 这意味着,驱动程序符合已发布的标准,但尚未通过Microsoft压力测试的方式,即分发出租车中的其他驱动程序。
在特定打印机上启用故障审核
可能需要对特定对象(打印机)启用审核。 除非将此问题的焦点缩小到某些打印机,否则必须执行以下步骤在所有打印机上启用故障审核:
- 选择“启动>设置>设备> 打印机和扫描仪”。
- 选择要审核的打印机,然后选择“ 打印机属性”。
- 选择 “安全 ”选项卡,选择“ 高级 ”按钮,然后选择“ 审核 ”选项卡。
- 选择“添加”按钮,选择要审核其打印机访问权限的所有用户或组,然后选择“确定”。 将显示“审核条目”窗口,以便选择要审核的访问事件。
- 在“失败”列中为列出的所有 Access 操作放置复选标记。
- 选择“确定**”以返回到“高级安全设置”**窗口,并查看已到位的审核配置。
- 选择“确定”以关闭“高级安全设置”窗口,然后返回到你为其配置审核的打印机的属性。 选择“确定”以提交更改。
- 重复步骤 1-7,对所有所需打印机对象启用审核。
数据收集
如果需要Microsoft支持方面的帮助,建议按照使用 TSS 收集信息中的 步骤收集用户体验问题来收集信息。