我遇到了远程桌面轻松打印用户尝试从远程桌面会话打印到他们的GDI/基于主机的打印机的问题。当从 Office 应用程序中寻址时,打印机对象被重定向到 RD 会话并报告“就绪”状态。然而,提交的打印作业只是被系统吞没 - 没有任何内容打印到本地打印机,也没有任何内容记录到服务器或客户端系统的应用程序或系统日志中。
我只有 HP 打印机可以对此进行测试,并且在以下型号中遇到了上述症状:
- 激光打印机 P1106
- LaserJet P1505(USB 连接)
- 带有原始 HP 驱动程序的 LaserJet P1606(似乎也是 GDI)
- 激光打印机 1022 (USB)
对于同样支持 PCL5e 的 P1606,我可以验证使用兼容的 PCL5e 驱动程序(我选择了 LaserJet 4000 PCL 5e)而不是原来的 HP GDI 驱动程序可以解决问题。
据我了解,Easy Print 流式传输XPS作业,然后将其输入 RD 客户端的 XPS 处理器并通过本地驱动程序打印。按照这个逻辑,该过程应该完全与驱动程序无关,并且至少不会被 GDI 驱动程序阻塞。到底为什么会这样?怀疑是客户端问题,我已针对安装了一些相关更新的 Windows XP SP3 以及 Windows 7 SP1 进行了测试,但该问题与所有客户端环境有关。
环境:
- Server 2008 R2 远程桌面会话主机
- Windows 7 SP1 客户端
- 安装了KB946411的Windows XP SP3 客户端应该也可以修复一些 Easy Print 问题
我发现 2 个在 Windows 7 客户端(32/64 位)上运行良好的解决方案
在 Windows 客户端上使用通用打印驱动程序 PCL5
作为 GPO:
管理模板/Windows 组件/远程桌面服务/远程桌面会话主机/打印机重定向/首先使用远程桌面简易打印驱动程序:已启用
为不首先使用 Easy Print Driver 的安全组(拥有 Laserjet 1022 的用户)创建 GPO
管理模板/Windows 组件/远程桌面服务/远程桌面会话主机/打印机重定向/首先使用远程桌面简易打印驱动程序:禁用
在您的 RDS 服务器(2008 R2 64 位)上安装 Laserjet 1022 驱动程序后,打印机工作正常
我们与 MS 合作,他们创建了一个客户端修补程序,允许(至少是 HP)使用基于主机的驱动程序的打印机与 RDS Easy Print 一起工作。这已在我们的环境中成功测试。
该修补程序可在此处获得:http: //support.microsoft.com/kb/3005781
首先尝试在服务器 GPO 上启用 Easy Print。策略位置是“计算机配置 -> 管理模板 -Windows 组件 -> 远程桌面服务 > 远程桌面会话主机 -> 打印机重定向”。设置“首先使用远程桌面轻松打印打印机驱动程序”必须设置为“启用”以进行轻松打印重定向,并且必须将其设置为“禁用”以进行传统打印。对于“未配置”,默认选择 Easy Print。
如果上述方法不起作用,您必须在服务器和客户端计算机上安装相同版本的打印驱动程序。安装驱动程序后,您还需要再次将组策略更改为禁用,在“计算机配置 -> 管理模板 -Windows 组件 -> 远程桌面服务 > 远程桌面会话主机 -> 打印机重定向 -> 首先使用远程桌面轻松打印驱动程序" 所以它会将客户端上的驱动程序映射到服务器上的驱动程序。一旦完成,它就可以正常打印了。