在远程桌面服务和 Citrix XenApp 中使用 BarTender
概述
本文介绍了如何在 Windows 远程桌面服务(RDS)和 Citrix XenApp 环境下使用 BarTender。内容涵盖了在这两种环境下,不同 BarTender 版本在打印和授权方面可能遇到的问题。
如需了解更多关于在远程桌面服务和 Citrix XenApp 环境下使用 BarTender 的信息,请参阅我们技术文档中 基于打印机的授权 的 Citrix 和远程桌面部分。
适用范围
BarTender 2019 及更高版本
RDS 和 Citrix
信息说明
对于 BarTender 2019 及更高版本,您可以通过 Citrix 和远程桌面服务同时启动多个 BarTender 会话。BarTender 允许不限数量的用户运行 BarTender 应用程序,因此可以在任意数量的用户会话中同时运行。自动化版本采用按实际使用的打印机数量授权,而不是按用户数量授权。
远程服务/Citrix XenApp
远程桌面服务
远程桌面服务(以前称为终端服务)是 Windows Server 的一项功能,允许客户端计算机以其键盘、鼠标和显示器仿佛直接连接到服务器的方式访问服务器。关于远程桌面服务的更多信息,请在微软官网搜索 Remote Desktop Services 或 Terminal Services:www.microsoft.com。
Citrix XenApp
Citrix XenApp(以前称为 Citrix MetaFrame Server)是一款基于远程桌面服务的瘦客户端产品,允许用户连接到企业应用程序。详情请参阅 Citrix 官网:www.citrix.com。
打印机重定向
远程桌面服务提供打印机重定向功能,可以将服务器上的打印任务发送到客户端本地安装的打印机。关于此功能的简要说明,请参见本文档下方的“客户端打印队列”部分。
如需了解更多关于打印机重定向的信息,请在 www.microsoft.com 上搜索 Remote Desktop Services 或 Terminal Services with Printer Redirection,查找相关知识库文章、常见问题及其他文档。
打印
当用户登录到远程桌面服务会话时,可用的打印机列表来自两个来源:服务器上安装的打印机驱动程序和客户端上安装的打印机驱动程序。安装在服务器上的驱动程序称为服务器打印队列,而安装在客户端上的驱动程序称为客户端打印队列。
服务器打印队列
如果打印机直接连接到服务器或通过 TCP/IP 连接到服务器,可以在服务器上安装打印机驱动程序。这会创建一个服务器打印队列,使该打印机在所有远程桌面会话中都可用。
客户端打印队列
客户端打印队列是通过打印机重定向功能创建的,该功能在远程桌面服务和 Citrix XenApp 中均可用。打印机重定向会将远程桌面会话中的打印输出路由到客户端计算机上的可用打印机,并自动创建客户端打印队列。服务器上需安装匹配的打印机驱动程序,所有打印代码在服务器上生成,然后将生成的打印代码重定向到客户端计算机上的打印机。
当客户端登录到远程桌面会话时,服务器会尝试为客户端上安装的每台打印机创建打印队列。客户端打印队列也可用于服务器本地网络上的打印机,以便仅在特定用户的会话中使用该打印机。
通用打印机驱动程序
通用打印机驱动程序允许您几乎可以打印到任何品牌或型号的打印机。只需安装一个通用驱动程序,就无需在服务器上安装多个针对不同打印机的驱动程序。
在 Citrix XenApp 中,可以通过 Citrix 通用打印机或 Citrix 通用打印机驱动程序自动创建客户端打印队列。Citrix 通用打印机是一个自动生成的打印机对象,会替代用户会话中出现的所有打印机。安装后,几乎可以用于任何您想要使用的打印机。
Citrix 通用打印机驱动程序是一种通用驱动程序,可用于大多数打印机。与 Citrix 通用打印机只添加一个打印机对象不同,通用驱动程序只需安装一次,之后可以用它创建多个自动打印队列。
远程桌面服务的通用打印机驱动程序称为 Remote Desktop Easy Print。Easy Print 驱动程序支持多种型号的打印机,无需在终端服务器上安装多个驱动程序。
在服务器上安装打印机驱动程序
如果服务器可以访问客户端上安装的驱动程序,则会自动使用客户端的驱动程序。如果服务器无法访问该驱动程序,则需要在服务器上安装与客户端计算机上驱动程序同名的打印机驱动程序。完成后,每次客户端登录时都会自动创建打印队列。
请按照以下步骤手动安装打印机:
Windows Server 2008 R2 - 2022
- 在“管理工具”菜单中,选择打印管理。
- 展开打印服务器节点。
- 右键点击驱动程序,在右键菜单中选择添加驱动程序。
- 按照提示完成打印机驱动程序的安装。
客户端打印队列的打印机授权
Seagull License Server(SLS)通过处理从打印机本身获取的信息来识别唯一的打印机。对于本地安装的打印机,这些信息包括打印机型号和端口;对于网络打印机,则包括打印机的 IP 地址和 TCP 端口。
但在 Citrix 和远程桌面服务环境下,SLS 无法从服务器获取部分信息,如端口或 IP 地址。如果打印机使用的是通用驱动程序,甚至无法获取正在使用的打印机型号。缺少这些信息时,当多台客户端使用同一台打印机时,SLS 可能无法将其识别为同一台打印机,导致该打印机在 SLS 中被多次计数,从而减少了您授权中可用的打印机数量。
Seagull License Server Remote Assistant
Seagull License Server Remote Assistant 是一款应安装在远程客户端上的软件工具,用于防止在 Citrix 或远程桌面服务环境下 SLS 对打印机进行重复计数。安装后,Remote Assistant 会直接从客户端计算机上安装的打印机获取详细信息。每当客户端发起打印请求时,SLS 会向 Remote Assistant 请求这些信息。通过这些额外的打印信息,SLS 能够根据打印机型号、端口和 IP 地址准确区分不同的打印机。
安装 Seagull License Server Remote Assistant
要在客户端计算机上安装 Seagull License Server Remote Assistant,请从我们的网站下载并运行安装包。
除了运行安装包外,用户还可以通过静默安装命令行,在网络中的多台计算机上无界面或最小界面地安装 Seagull License Server Remote Assistant。静默安装命令行可用于在整个网络的多台计算机上批量安装该工具。
使用 Remote Assistant 时的打印机授权问题
BarTender 依赖 Seagull 自有的虚拟通道 BTVC__1(7 个字符)来查询打印机信息。如果该通道未被允许,则打印机端口将显示为 AUTOnn。
- 32 位 BarTender:
BTVC__1,C:\Program Files (x86)\Seagull\BarTender 2021\BarTend.exe - 64 位 BarTender:
BTVC__1,C:\Program Files\Seagull\BarTender 2021\BarTend.exe
从 Citrix Virtual Apps and Desktops 7 2109 开始,虚拟通道允许列表默认启用。因此,只有 Citrix 虚拟通道可以在虚拟应用和桌面会话中打开。如果需要使用自定义虚拟通道(无论是自研还是第三方),都需要将其明确添加到允许列表中。
要将 "BTVC__1" 虚拟通道添加到 Citrix 虚拟通道允许列表策略设置中,请按照此外部文章中 添加虚拟通道到允许列表 部分的指南操作:虚拟通道安全。
命令行安装
要通过命令行安装 Seagull License Server Remote Assistant:
- 打开运行对话框:
- 在 Windows 10 中,在 Windows 菜单搜索框中输入“运行”,然后在结果中选择桌面应用运行。
- 在更早版本的 Windows 中,点击 Windows 开始按钮,选择运行选项。
- 在运行对话框中输入 cmd。
- 点击确定,打开命令提示符。
- 按照以下语法输入所需的命令参数:

安装脚本示例
要在监控安装过程的同时安装 Seagull License Server Remote Assistant:

仅为远程桌面服务环境(即使已安装 Citrix)安装 Seagull License Server Remote Assistant:

仅为 Citrix 环境安装 Seagull License Server Remote Assistant:
