为 Horizon Agent 和 Horizon Client 配置的过滤策略设置将确定哪个 USB 设备可以从客户端计算机重定向到远程桌面或应用程序。公司通常使用 USB 设备过滤,以便禁止在远程桌面上使用大容量存储设备,或者阻止转发特定类型的设备,例如,把客户端设备连接到远程桌面的 USB 以太网适配器。
当您连接到桌面或应用程序后,Horizon Client 会下载 Horizon Agent USB 策略设置并将其与 Horizon Client USB 策略设置结合使用,以确定允许您从客户端计算机重定向哪些 USB 设备。
在应用过滤策略设置前,Horizon 7 可以应用任何设备拆分策略设置。如果您已拆分复合 USB 设备,Horizon 7 会根据过滤策略设置检查每个设备接口,以确定应排除或包含哪些接口。如果您没有拆分复合 USB 设备,Horizon 7 将对整个设备应用过滤策略设置。
设备拆分策略包含在 Horizon Agent 配置 ADMX 模板文件 (vdm_agent.admx) 中。
代理强制执行的 USB 设置的交互
下表介绍了一些修改符,这些修改符可以指定当存在针对 Horizon Client 的等效过滤策略设置时,Horizon Client 将如何处理代理可强制执行的设置的 Horizon Agent 过滤策略设置。
修改符 | 说明 |
---|---|
m(合并) | 除 Horizon Client 过滤策略设置外,Horizon Client 还会应用 Horizon Agent 过滤策略设置。对于布尔或 true/false 设置,如果未设置客户端策略,则将使用代理设置。如果设置了客户端策略,则将忽略代理设置,但Exclude All Devices设置除外。如果在代理端设置了Exclude All Devices策略,该策略将覆盖客户端设置。 |
o(覆盖) | Horizon Client 使用 Horizon Agent 过滤策略设置,而不使用 Horizon Client 过滤策略设置。 |
例如,代理端上的以下策略将覆盖客户端上的任何包含规则,且仅设备 VID-0911_PID-149a 将应用包含规则:
IncludeVidPid: o:VID-0911_PID-149a
您也可以使用星号作为通配符;例如:o:vid-0911_pid-****
在客户端上解释的 USB 设置的交互
下表介绍了一些修改符,这些修改符可以指定 Horizon Client 将如何处理在客户端上解释的设置的 Horizon Agent 过滤策略设置。
修改符 | 说明 |
---|---|
Default(注册表设置中为 d) | 如果不存在 Horizon Client 过滤策略设置,Horizon Client 将使用 Horizon Agent 过滤策略设置。 如果存在 Horizon Client 过滤策略设置,Horizon Client 将应用该策略设置并忽略 Horizon Agent 过滤策略设置。 |
Override(注册表设置中为 o) | Horizon Client 使用 Horizon Agent 过滤策略设置,而不使用任何等效的 Horizon Client 过滤策略设置。 |
Horizon Agent 在其所在端的连接上不会为在客户端上解释的设置应用过滤策略设置。
下表举例说明了在您指定不同过滤修改符时 Horizon Client 将如何处理Allow Smart Cards设置。
Horizon Agent 的允许智能卡设置 | Horizon Client 的允许智能卡设置 | Horizon Client 使用的有效允许智能卡策略设置 |
---|---|---|
Disable - Default Client Setting(注册表设置中为 d:false) | true(允许) | true(允许) |
Disable - Override Client Setting(注册表设置中为 o:false) | true(允许) | false(禁用) |
如果将 Disable Remote Configuration Download 策略设置为 true,Horizon Client 将忽略从 Horizon Agent 接收到的任何过滤策略设置。
Horizon Agent 始终在其所在端的连接上应用代理可强制执行的设置中的过滤策略设置,即使您将 Horizon Client 配置为使用不同的过滤策略设置或禁止 Horizon Client 从 Horizon Agent 下载过滤策略设置也是如此。Horizon Client 不报告 Horizon Agent 阻止设备被转发。
设置的优先级
Horizon Client 会根据优先级评估过滤策略设置。阻止匹配设备进行重定向的过滤策略设置优先于包含该设备的等效过滤策略设置。如果 Horizon Client 没有遇到排除设备的过滤策略设置,Horizon Client 将允许设备重定向,除非Exclude All Devices策略设置为了 true。然而,如果您已将 Horizon Agent 的过滤策略设置配置为排除设备,则桌面或应用程序将阻止向其重定向设备的所有尝试。
Horizon Client 按照优先级顺序评估过滤策略设置,并会考虑 Horizon Client 设置、Horizon Agent 设置,以及应用到 Horizon Agent 设置的修改符值。以下列表显示了优先级顺序,其中项 1 具有最高优先级。
- Exclude Path
- Include Path
- Exclude Vid/Pid Device
- Include Vid/Pid Device
- Exclude Device Family
- Include Device Family
- Allow Audio Input Devices、Allow Audio Output Devices、Allow HIDBootable、Allow HID (Non Bootable and Not Mouse Keyboard)、Allow Keyboard and Mouse Devices、Allow Smart Cards 和 Allow Video Devices
- 评估结合使用的有效的Exclude All Devices策略以排除或包含所有 USB 设备
您只能为 Horizon Client 设置 Exclude Path 和 Include Path 过滤策略设置。引用单独设备系列的Allow过滤策略设置具有同等优先级。
如果配置策略设置根据供应商 ID 和产品 ID 来排除设备,那么 Horizon Client 将排除其供应商 ID 和产品 ID 与该策略设置匹配的设备,即使您可能为该设备所属的系列配置了Allow策略设置,也是如此。
策略设置的优先级顺序避免了策略设置之间的冲突。如果您将Allow Smart Cards配置为允许智能卡重定向,任何具有更高优先级的排除策略设置都将覆盖此策略。例如,您可能已将Exclude Vid/Pid Device策略设置配置为排除具有匹配路径或供应商 ID 和产品 ID 值的智能卡设备,或者也可能已配置排除整个Exclude Device Family设备系列的smart-card策略设置。
如果您配置了任何 Horizon Agent 过滤策略设置,Horizon Agent 将根据以下优先级顺序在远程桌面或应用程序上评估并强制执行过滤策略设置,其中第 1 项具有最高优先级。
- Exclude Vid/Pid Device
- Include Vid/Pid Device
- Exclude Device Family
- Include Device Family
- 将代理可强制执行的Exclude All Devices策略设置为排除或包含所有 USB 设备
Horizon Agent 将在其所在端的连接上执行过滤策略设置的此项限制设置。
通过为 Horizon Agent 定义过滤策略设置,您可以为非托管的客户端计算机创建过滤策略。借助该功能,还可以阻止设备从客户端计算机转发,即使 Horizon Client 的过滤策略设置允许该重定向,也是如此。
例如,您配置的一个策略可使 Horizon Client 允许某一设备重定向,如果您又配置了 Horizon Agent 策略来排除该设备,那么 Horizon Agent 将阻止该设备。
设置策略以过滤 USB 设备的示例
在这些示例中使用的供应商 ID 和产品 ID 只是示例。有关确定特定设备的供应商 ID 和产品 ID 的信息,请参阅使用日志文件进行故障排除和确定 USB 设备 ID。
- 在客户端上,禁止特定设备进行重定向:
Exclude Vid/Pid Device: Vid-0341_Pid-1a11
- 阻止所有存储设备重定向到此桌面或应用程序池。使用代理端设置:
Exclude Device Family: o:storage
- 对于桌面池中的所有用户,阻止音频和视频设备,以确保这些设备将始终可用于实时音频-视频功能。使用代理端设置:
Exclude Device Family: o:video;audio
请注意,还有另一种策略,那就是按供应商 ID 和产品 ID 来排除特定设备。
- 在客户端上,阻止所有设备重定向,但一个特定设备除外:
Exclude All Devices: true Include Vid/Pid Device: Vid-0123_Pid-abcd
- 排除由特定公司制造的所有设备,因为这些设备会给您的最终用户带来问题。使用代理端设置:
Exclude Vid/Pid Device: o:Vid-0341_Pid-*
- 在客户端上,包括两个特定设备,但排除所有其他设备:
Exclude All Devices: true Include Vid/Pid Device: Vid-0123_Pid-abcd;Vid-1abc_Pid-0001