Product Documentation

为会话设置打印机

Sep 14, 2015

计算机要处理打印命令,既需要适用的打印机对象,也需要打印机驱动程序。由于会话托管在虚拟工作台中而非本地托管在硬盘驱动器上,因此打印机及其驱动程序不存储在本地计算机中,而是在登录或重新连接时恢复。XenApp 在会话中启用打印机的过程称为置备。

可以控制打印机设置,而且配置方式会影响用户在会话中看到的打印机以及打印机的速度。

有两种类型的打印机设置:
  • 静态。服务器本地打印机仅设置一次,即在将其连接到场服务器时进行设置。此后,在会话中始终使用相同的属性创建这些打印机,而不会根据策略的改变而发生变化。
  • 动态。会话中可用的打印机在建立会话时确定。因此,打印机会随着策略、用户位置以及网络的变化(只要策略中反映了这些内容)而变化。动态设置打印机时,不会预先确定和存储出现在会话中的打印机,而是在建立会话时基于策略来组合打印机。

由于设置静态打印机相对简单,因此本主题主要讲述动态设置打印机。

两种最常用的动态设置打印机的方法为:

  • 用户设置
  • 自动创建

要控制用户在其会话中有哪些打印机并确保这些打印机在用户启动其会话时可用,请通过自动创建来设置打印机。如果您不希望指定(和管理)用户打印机,可以让用户自行设置其打印机。

也可以选择阻止自动创建打印机,并让用户设置在其用户设备中可见的打印机。

用户设置

可以允许用户自己将打印机添加到其会话中。通过服务器上的 Windows 添加打印机向导,用户可以在用户会话中手动映射未根据策略自动创建的客户端打印机。如果用户使用的是瘦客户端或者无法访问其用户设备,可以通过运行 ICA 客户端打印机配置工具 (PrintCfg.exe) 自行设置打印机。用户要使用该实用程序自行设置打印机,您必须在场中发布 PrintCfg.exe。

自动创建

术语自动创建的含义是,每次启动会话时,XenApp 会根据在用户设备上配置的打印机以及应用于该会话的所有策略自动创建打印机。

默认情况下,XenApp 通过自动创建在用户设备上配置的所有打印机(包括本地连接的打印机和网络打印机),在会话中启用打印机。用户结束会话后,该会话使用的打印机将被删除。下次启动会话时,XenApp 将评估所有打印机创建策略,并枚举用户设备中适用的打印机。

可以更改默认的自动创建策略设置,以限制自动创建的打印机的数量或类型。XenApp 可以自动创建以下打印机:
  • 客户端重定向的打印机(包括自动创建的客户端打印机以及通用打印机)
  • 网络打印机

通过使用客户端和网络打印机自动创建功能,可以对打印机设置进行维护。添加新打印机时,需要更新自动创建列表。此外,必须将这些打印机的驱动程序添加到场中的所有服务器,但也可以指定 XenApp 自动执行该操作。

自动创建的客户端打印机和用户置备的打印机使用客户端打印途径。自动创建的网络打印机使用网络打印途径。

让用户设置自己的打印机

如果不希望在每次会话启动时自动创建特定打印机,可让用户添加自己的打印机。

默认情况下,可从用户设备访问网络的所有用户均可添加要在会话中使用的打印设备。用户无法将打印机添加到其会话的唯一情况是,由于使用的是瘦客户端而不能访问其用户设备,而且没有发布可用于浏览和添加打印机的应用程序。

用户在会话期间自己创建的打印机称为保留的打印机,因为在下一个会话启动时会再次创建(或记住)这些打印机。XenApp 在会话启动时重新创建保留的打印机时,会考虑除自动创建客户端打印机之外的所有 Citrix 策略设置。

除非手动删除了会话中的客户端打印机、从客户端属性存储器中删除了记住的打印机连接或者无法访问客户端打印机,否则保留的打印机将一直出现在该设备上的会话中。

如果用户无法从会话中浏览到打印机或无法访问其客户端桌面,可能需要使用 PrintCfg.exe 工具来添加打印机。如果使用该工具,打印机将会沿着客户端打印途径进行路由。

自动创建客户端打印机

自动创建功能可创建用户登录后可使用的打印机列表。用户登录后,将安装其打印驱动程序,并且返回到此列表中的所有打印机都可以使用。

XenApp 可以通过两种不同的方法自动创建重定向的客户端打印机:

  • 创建与用户设备上的打印机一一对应的打印机
  • 创建一台通用打印机(Citrix 通用打印机),代表用户设备上的所有(或任意)打印机

在许多环境中,特别是大型环境中,Citrix 建议您仅自动创建一台默认打印机。自动创建数量较少的打印机对服务器产生的开销较少,CPU 使用率也较高。

但是,在用户计算机技能有限而又需要打印到各种本地打印设备的环境中,您可能希望保留默认的自动创建设置,以便在登录时创建所有打印机。

如果不希望在每个会话开始时创建大量打印机,请考虑指定供 XenApp 使用的 Citrix 通用打印机。

在用户设备中自动创建打印机

默认情况下,XenApp 会在会话开始时在用户设备上自动创建所有打印机。可以控制为用户设置的打印机类型(如果有),并可防止自动创建所有打印机。

Citrix 策略设置自动创建客户端打印机使您能够控制自动创建行为以及指定以下各项:
  • 在每个会话开始时自动创建对用户设备可见的所有打印机(包括网络和本机连接的打印机)
  • 自动创建以物理方式连接到用户设备的所有非网络打印机
  • 仅自动创建用户设备的默认打印机
  • 不自动创建对于用户设备可见的任何打印机
配置打印机自动创建策略时,请确保:
  • 未共享用户帐户
  • 仅添加 Microsoft 本机或经过全面测试的驱动程序
  • 用户有权写入服务器的 %systemroot%\system32\spool

以上这些要点有助于确保成功自动创建打印机。

设置 Citrix 通用打印解决方案

Citrix 通用打印机和驱动程序提供的打印解决方案可使用户无论是否已安装正确的打印机和驱动程序都可以执行打印作业。

通用打印解决方案包括的打印机和驱动程序不针对任何特定设备。因此,通用打印解决方案可减少场服务器上所需的驱动程序数或在会话开始时创建的打印机数,从而简化了管理。由于用户需要访问的打印机和驱动程序较少,因此不但提高了启动会话的速度,而且降低了打印机管理的复杂性。

XenApp 包含两种类型的通用打印解决方案:
  • Citrix 通用打印机。通用打印机对象,取代会话期间出现在用户“打印机”控制面板中的打印机。此打印机几乎可与任何打印设备一起使用。
  • Citrix 通用打印机驱动程序。Windows 本机打印机驱动程序是几乎可与任何打印机一起使用的通用驱动程序。这些驱动程序也可用于非 Windows 客户端。Citrix 创建的通用打印机驱动程序由 Citrix XPS 通用打印机驱动程序和基于 EMF 的 Citrix 通用打印机驱动程序组成。
可以通过以下方法之一来使用这些打印解决方案:
  • 使用 Citrix 通用打印机动程序自动创建的设备打印机。自动创建特定于设备的打印机,但使用 Citrix 通用打印机驱动程序。例如,配置的策略规则指定在每个会话开始时仍自动创建打印机 LaserJet5L;但是,会话使用 Citrix 通用打印机驱动程序与用户设备上的驱动程序进行通信,并在用户设备上处理打印作业。
  • 使用 Citrix 通用打印机驱动程序自动创建的 Citrix 通用打印机。自动创建 Citrix 通用打印机,并使用 Citrix 通用打印机驱动程序。即,在每个会话开始时,自动创建的唯一打印机是 Citrix 通用打印机。与第一个示例相同,会话使用 Citrix 通用打印机驱动程序与用户设备上的驱动程序进行通信,并在用户设备上处理打印作业。
  • 使用 Citrix 通用打印机驱动程序自动创建的设备打印机、自动创建的 Citrix 通用打印机 - 在会话开始时,自动创建 Citrix 通用打印机和特定于设备的打印机。这两种打印机均使用 Citrix 通用打印机驱动程序。
是否使用 Citrix 通用打印解决方案取决于各种因素:
  • Citrix 通用打印机和打印机驱动程序不一定适用于您环境中的所有用户设备或插件。Citrix 通用打印机和打印机驱动程序解决方案需要 Citrix 联机插件或 Citrix 脱机插件。

    如果插件未通过 ICA 通道进行连接(例如,使用 Citrix 脱机插件并通过流技术将应用程序推送到客户端时),Citrix 通用打印机将无法正常使用。

    如果希望对非 Windows 插件使用通用打印解决方案,请使用基于 PostScript/PCL 并随 XenApp 自动安装的其他通用打印机驱动程序之一。

  • 此外,与旧版或较低级的打印机驱动程序相比,Citrix 通用打印机驱动程序创建的打印作业可能较少。但是,有时使用特定于设备的驱动程序可能会更好,因为该驱动程序可能会优化其相关打印机的打印作业。
注意:如果希望在会话中显示 Citrix 通用打印机,请确保在影响这些会话的所有策略中未将 Citrix 策略设置客户端打印机名称设置为旧版打印机名称

默认情况下,在每个场服务器上安装通用打印机驱动程序,但不会启用打印机。要在配置场时获得最佳结果,请同时使用 Citrix 通用打印机和 Citrix 通用打印机驱动程序。

注意:Citrix 通用打印可用于 Citrix Presentation Server Client(9.x 版或 10.x 版)、Citrix XenApp Plugin 托管应用程序 11.0、Citrix 联机插件、Citrix XenApp Plug-in 流应用程序以及 Citrix 脱机插件。Presentation Server 4.0 到 XenApp 6 提供了此功能。

Citrix 通用打印机

Citrix 通用打印机是在会话开始时创建的通用打印机,几乎可与任何打印设备一起使用。此打印机可通过客户端打印至任何客户端打印机并与其进行通信。

您可能还会因为用户重新连接时打印机名称未发生变化而希望使用 Citrix 通用打印机。更改打印机名称可能会使某些应用程序出现问题。

Citrix 通用打印机是基于每个会话创建的。与 Citrix 通用打印机驱动程序一起使用时,它可以大幅降低会话开始时自动创建打印机的资源使用量。使用通用打印机时,可以指定仅为用户设备上的每台打印机自动创建通用打印机。

启用 Citrix 通用打印机之后,会在会话中创建一台额外的打印机,名为 Citrix UNIVERSAL Printer in 会话编号 of 会话。要在会话中仅使用 Citrix 通用打印机,但不在用户设备上自动创建任何打印机,请通过注册表启用通用打印机,并将 Citrix 策略设置自动创建客户端打印机配置为不自动创建客户端打印机

用户体验会因 Citrix 通用打印机的类型而异。

由于 Citrix 通用打印机不针对特定打印设备,因此基于 EMF 和基于 XPS 的 Citrix 通用打印机均提供了预览和选择设置的方法:
  • 基于 EMF 的 Citrix 通用打印机。基于 EMF 的 Citrix 通用打印机可以在打印前显示打印预览。如果选中了打印机打印首选项中的在客户端预览选项,用户将看到打印作业的预览,并且能够选择关闭目标打印机及控制打印设备设置。如果未选择在客户端预览选项,系统将不显示任何预览,并直接将打印作业发送到用户设备上的默认打印机。
  • 基于 XPS 的 Citrix 通用打印机。与 Microsoft XPS 文档写入程序一样,如果用户选择“打印预览”或修改打印设置,Citrix XPS 通用打印机会将文档发送至 Internet Explorer,以 Microsoft 的 XPS“电子文件”格式显示。
注意:除非用户具有 Citrix Presentation Server Client(10.100 版或更高版本)、Citrix XenApp Plug-in 托管应用程序(11x 版)或 Citrix 联机插件,否则管理员无法控制打印预览器。

自动创建网络打印机

默认情况下,用户设备上的任何网络打印设备都是在会话开始时自动创建的。但是,如有可能,XenApp 始终会尝试将作业从 XenApp 直接路由到打印服务器,而非经由客户端连接。

要指定在会话中创建特定打印机,而非自动创建用户设备上可用的所有网络打印设备,请配置 Citrix 策略设置会话打印机

根据会话启动时所处的情况,例如位置(通过对子网等对象进行过滤),使用会话打印机设置创建的网络打印机可能有所差别。

注意:对于与 XenApp 场没有信任关系的域中的打印机,请禁用 Citrix 策略设置直接连接到打印服务器。禁用此设置后,打印作业将使用客户端打印途径通过客户端进行路由。