你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过远程桌面协议进行外围设备和资源重定向

重定向使用户能够通过 远程桌面协议 (RDP) 在其本地设备 (客户端) 和远程会话 (服务器端) 之间共享资源和外围设备,例如剪贴板、网络摄像头、USB 设备、打印机等。 重定向旨在提供无缝的远程体验,与使用本地设备的体验相当。 此体验可帮助用户在远程工作时提高工作效率和效率。 管理员可以配置重定向,以帮助平衡安全要求和用户的需求。

本文提供有关不同外围设备类的重定向方法、重定向分类以及可重定向的资源和外围设备的受支持类型的详细信息。

重定向方法和分类

RDP 利用两种重定向方法在本地设备和远程会话之间重定向资源和外围设备:

  • 高级重定向:通过拦截和优化特定外设或体验类别的所有通信,充当智能中介。 高级重定向可确保在远程方案中获得最佳性能,但也依赖于外围设备驱动程序和应用程序支持。

  • 不透明低级别重定向:传输外围设备的原始通信,而无需尝试针对远程方案对其进行解释、理解、限制或优化。

    不透明低级别重定向用于通过 USB 连接的外围设备(其中不存在合适的高级外围设备反射重定向解决方案),以及远程会话中具有特定驱动程序或软件要求才能正常工作的外围设备。 USB 重定向在端口和协议级别使用 USB 请求块 (URB) 进行。 不透明低级别重定向还用于通过串行/COM 端口连接的外围设备。

在高级重定向中,使用四种总体技术,根据重定向的方向以及重定向的资源或外围设备类型进行分类。 四种高级重定向分类是:

  • 外围设备反射:将连接到本地设备的特定外设类反映到远程会话。 此分类包括输入设备,例如键盘、鼠标、触摸、笔和触控板。

  • 数据共享:在本地设备和剪贴板的远程会话之间共享和传输数据。

  • 状态反射:将本地设备状态反映到远程会话中,例如其电池状态和位置。

  • 应用程序拆分:跨本地设备和远程会话(如 Microsoft Teams)拆分应用程序的功能。

使用的重定向方法可能因外围设备类(如 Windows、macOS、iOS/iPadOS 或 Android)及其可用资源、外围设备和功能而异。 远程会话中可用的重定向也取决于所使用的应用程序。 有关在不同平台上使用Windows App重定向支持的比较,请参阅跨平台和设备比较Windows App功能

重要

应尽可能使用高级重定向,因为它可提供最佳性能和用户体验。 不透明低级别重定向实际上是一种回退方案,因此默认情况下,无法保证此类外围设备的性能、可靠性和支持的功能集。

某些外围设备无法重定向,例如加密的 USB 存储。

USB 重定向比较

下表比较了使用不透明低级别 USB 重定向重定向 USB 外围设备,以及使用 RDP 支持的外围设备类使用高级重定向重定向外围设备:

不透明低级别 USB 重定向 高级重定向
要求在远程会话中安装 USB 外围设备的驱动程序。 不需要在本地设备上安装驱动程序。 要求在本地设备上安装外围设备的驱动程序。 在大多数情况下,它不需要在远程会话中安装驱动程序。
对许多外围类使用单个重定向方法。 为每个外围设备类使用特定的重定向方法。
通过 RDP 连接将 USB 请求块转发到 USB 外围设备或从 USB 外围设备转发 USB 请求块。 通过使用外围设备类的优化协议,在远程会话中公开高级外围设备功能。
USB 外围设备在远程会话中使用时不能在本地设备上使用。 一次只能在一个远程会话中使用。 可以在本地设备和远程会话中同时使用外围设备。
针对低延迟连接进行优化。 基于外围设备驱动程序实现的变量。 针对 LAN 和 WAN 连接进行了优化,并了解带宽和延迟等条件的变化。

控制不透明低级别 USB 重定向

使用不透明的低级别 USB 重定向重定向 USB 外围设备由 RDP 属性usbdevicestoredirect:s:<value>控制,其中 <value> 是格式USB\<Vendor ID and Product ID>\<USB instance ID>的设备实例路径

对于某些产品和服务(例如 Azure 虚拟桌面),可以通过设置 RDP 属性值来控制重定向行为,如下所示:

  • 某些 USB 外围设备可能具有使用不透明低级别 USB 重定向或高级重定向的功能。 默认情况下,这些外围设备使用高级重定向进行重定向。 可以使用 RDP 属性强制这些外围设备使用不透明的低级 USB 重定向。 若要使用具有不透明低级别 USB 重定向的 USB 音频外围设备,必须将音频输出位置设置为在本地计算机上播放声音。

  • 使用 类 GUID 重定向或不重定向整个 USB 外设类。

  • 使用通配符 * ,因为该值将重定向未安装高级重定向机制或驱动程序的大多数外围设备。 类 GUID 可用于重定向其他未自动匹配的外围设备。

值可以单独使用,或者在用分号分隔时,可以结合使用这些值的组合,具体取决于处理顺序。 下表列出了有效值和处理顺序:

处理顺序 说明
不适用 未指定值 不要使用不透明的低级别重定向来重定向任何受支持的 USB 外围设备。
1 * 重定向所有未使用高级重定向的外围设备。
2 {<DeviceClassGUID>} 重定向属于指定设备安装类成员的所有外围设备。
3 <USBInstanceID> 重定向由给定设备实例路径指定的 USB 外围设备。
4 <-USBInstanceID> 不要重定向由给定设备实例路径指定的外围设备。

以正确的处理顺序构造为字符串时,语法为:

usbdevicestoredirect:s:*;{<DeviceClassGUID>};<USBInstanceID>;<-USBInstanceID>

USB 设备的设备实例路径以 格式 USB\<Device ID>\<USB instance ID>构造为 三个部分。 可以在 设备管理器 或使用 Get-PnpDevice PowerShell cmdlet 中找到此值。 按顺序排列的三个部分是:

  1. 总线驱动程序 名称,在本例中 为 USB
  2. 设备 ID,其中包含供应商 ID (VID) 和 产品 ID (PID) USB 外围设备。
  3. 实例 ID,用于将设备与计算机上相同类型的其他设备唯一区分开来。

指定通过 RDP 重定向的 USB 外围设备时,可以使用设备实例路径。 使用设备实例路径时,值特定于它所连接到的本地设备上的端口。 例如,连接到第一个 USB 端口的外围设备具有设备实例路径 USB\VID_045E&PID_0779\5&21F6DCD1&0&5,但将同一外围设备连接到第二个 USB 端口具有设备实例路径 USB\VID_045E&PID_0779\5&21F6DCD1&0&6。 对于 USB 外围设备,指定设备实例路径意味着仅当连接到同一端口时才会重定向外围设备。

或者,可以使用 类 GUID 重定向 USB 外设的整个 设备设置类 。 使用类 GUID 时,将重定向具有相应类 GUID 的本地设备上的所有外围设备,而不管它们连接到的端口如何。 例如,使用 类 GUID {4d36e96c-e325-11ce-bfc1-08002be10318} 会重定向所有多媒体设备。 供应商 可用的系统定义设备设置类中提供了所有类 GUID 的列表。

有关如何使用 RDP 属性的一些示例,请参阅 usbdevicestoredirect RDP 属性

支持的资源和外围设备

下表列出了每个受支持的资源或外围设备类以及用于每个类的建议重定向方法:

资源类或外围设备类 重定向方法 主要数据流方向
一体的打印机/扫描仪 不透明低级别重定向 双向
音频输入 - 麦克风 (USB 或集成) 高级 - 外围反射 本地到远程
音频输出 - 扬声器 (USB 或集成) 高级 - 外围反射 远程到本地
电池 (自动,不可配置) 高级 - 状态反射 本地到远程
生物识别读取器仅在会话中 (,而不是在登录期间) 不透明低级别重定向 双向
相机/摄像头 (USB 或集成) 高级 - 外围反射 本地到远程
CD/DVD 驱动器 (只读) 高级 - 外围反射 本地到远程
剪贴板 高级别 - 数据共享 双向
键盘 (USB 或集成) 高级 - 外围反射 本地到远程
本地硬盘驱动器或 USB 可移动存储 高级 - 外围反射 双向
位置 高级 - 状态反射 本地到远程
鼠标 (USB 或集成) 高级 - 外围反射 本地到远程
MTP Media Player 高级 - 外围反射 本地到远程
多媒体重定向 高级别 - 应用程序拆分 双向
触控笔 (USB 或集成) 高级 - 外围反射 本地到远程
本地连接的打印机 (或网络) 高级 - 外围反射 远程到本地
PTP 相机 高级 - 外围反射 本地到远程
扫描器 不透明低级别重定向 双向
串行/COM 端口 不透明低级别重定向 双向
智能卡阅读器 高级 - 外围反射 双向
触摸 (USB 或集成) 高级 - 外围反射 本地到远程
触控板 (USB 或集成,不包括精确触控板 (PTP) 手势) 高级 - 外围反射 本地到远程
USB 转串行适配器 不透明低级别重定向 双向
VoIP 电话/耳机 不透明低级别重定向 双向
WebAuthN 高级 - 外围反射 双向

注意

  • 阻止以下外围设备类重定向:

    • USB 网络适配器。
    • USB 显示器。
  • 扫描程序重定向不包括 TWAIN 支持。

  • 电池重定向仅适用于 Azure 虚拟桌面和Windows 365。 它自动可用且不可配置。

  • 不支持重定向 蓝牙驱动程序堆栈 。 如果外围设备(如蓝牙键盘)连接到本地设备,则会根据 支持的外围设备类将其重定向到远程会话。

下图显示了用于每个外围设备类的重定向方法:

显示不同外围设备类如何映射到高级和不透明低级别重定向方法的关系图。

配置优先级顺序

远程会话的管理员配置了哪些设备类进行重定向以及重定向的行为方式。 可以通过Microsoft Intune或组策略 (Active Directory 或本地) 服务器端配置行为,也可以在用于连接到远程会话的文件中指定.rdp。 Azure 虚拟桌面和远程桌面服务还有一个代理服务,可在其中指定 RDP 属性。

但是,某些设置可以在需要更严格配置的本地设备上重写。 限制性更高的设置在配置的任何位置都优先;例如,如果管理员将所有远程会话的剪贴板配置为默认重定向,但本地设备配置为禁用剪贴板重定向,则剪贴板在远程会话中不可用。 在部分用户或设备需要比默认配置更严格的设置的情况下,这提供了灵活性。