Поделиться через


Перенаправление периферийных устройств по протоколу удаленного рабочего стола

Перенаправление позволяет пользователям совместно использовать ресурсы и периферийные устройства, такие как буфер обмена, веб-камеры, USB-устройства, принтеры и многое другое между локальным устройством (клиентом) и удаленным сеансом (на стороне сервера) по протоколу удаленного рабочего стола (RDP). Перенаправление предназначено для обеспечения простого удаленного взаимодействия, сравнимого с интерфейсом использования локального устройства. Этот интерфейс помогает пользователям работать эффективнее и эффективнее при удаленной работе. Администратор может настроить перенаправление, чтобы сбалансировать требования к безопасности и потребности пользователей.

В этой статье содержатся подробные сведения о методах перенаправления между различными периферийными классами, классификациями перенаправления и поддерживаемыми типами ресурсов и периферийных устройств, которые можно перенаправить.

Методы и классификации перенаправления

RDP использует два метода перенаправления для перенаправления ресурсов и периферийных устройств между локальным устройством и удаленным сеансом:

  • Высокоуровневое перенаправление: функции в качестве интеллектуального посредника путем перехвата и оптимизации всего взаимодействия для определенного класса периферийных устройств или опыта. Высокоуровневое перенаправление обеспечивает оптимальную производительность для удаленных сценариев, но также зависит от поддержки периферийных драйверов и приложений.

  • Непрозрачное перенаправление низкого уровня: транспортирует необработанное взаимодействие периферийного устройства без каких-либо попыток интерпретации, понимания, регулирования или оптимизации для удаленных сценариев.

    Непрозрачное перенаправление низкого уровня используется для периферийных устройств, которые подключаются через USB, где не существует подходящего решения перенаправления периферийного отражения высокого уровня, и для периферийных устройств, имеющих определенные требования к драйверу или программному обеспечению в удаленном сеансе для правильной работы. Перенаправление USB происходит на уровне порта и протокола с помощью блоков USB-запросов (URB). Непрозрачный низкоуровневый перенаправление также используется для периферийных устройств, которые подключаются через последовательные или COM-порты.

В высокоуровневом перенаправлении используются четыре метода переопределения, которые классифицируются на основе направления перенаправления и типа ресурса или периферийного перенаправления. Ниже приведены четыре классификации перенаправления высокого уровня:

  • Периферийное отражение: отражает определенный класс периферийных устройств, подключенных к локальному устройству, в удаленный сеанс. Эта классификация включает в себя устройства ввода, такие как клавиатура, мышь, сенсорный ввод, перо и трекпад.

  • Общий доступ к данным: общий доступ к данным и передача данных между локальным устройством и удаленным сеансом для буфера обмена.

  • Отражение состояния: отражает состояние локального устройства в удаленном сеансе, например состояние батареи и расположение.

  • Разделение приложений: разделяет функциональные возможности приложения на локальном устройстве и удаленном сеансе, например Microsoft Teams.

Используемый метод перенаправления может отличаться в зависимости от периферийного класса, например Windows, macOS, iOS или iPadOS или Android, а также доступных ресурсов, периферийных устройств и возможностей. Какие перенаправления доступны в удаленном сеансе, также зависят от используемого приложения. Сравнение поддержки перенаправления с помощью приложения Windows на разных платформах см. в разделе "Сравнение функций приложений Windows" на разных платформах и устройствах.

Внимание

По возможности следует использовать высокоуровневую перенаправление, так как она обеспечивает лучшую производительность и взаимодействие с пользователем. Непрозрачное перенаправление низкого уровня — это резервный сценарий, поэтому производительность, надежность и поддерживаемый набор функций таких периферийных устройств по умолчанию не гарантируется.

Некоторые периферийные устройства не могут быть перенаправлены, например зашифрованное USB-хранилище.

Сравнение перенаправления USB

В следующей таблице сравнивается перенаправление usb-периферийных устройств с использованием непрозрачного usb-перенаправления с использованием высокоуровневого перенаправления по протоколу RDP:

Непрозрачность перенаправления USB на низком уровне Перенаправление высокого уровня
Требуется, чтобы драйвер для usb-периферийных устройств был установлен в удаленном сеансе. Не требуется, чтобы драйвер был установлен на локальном устройстве. Требуется, чтобы драйвер для периферийного устройства был установлен на локальном устройстве. В большинстве случаев это не требует установки драйвера в удаленном сеансе.
Использует один метод перенаправления для многих периферийных классов. Использует определенный метод перенаправления для каждого периферийного класса.
Перенаправит блоки USB-запроса на usb-периферийные устройства через подключение RDP. Предоставляет высокоуровневые периферийные функции в удаленном сеансе с помощью оптимизированного протокола для периферийного класса.
Периферийное устройство USB не может использоваться на локальном устройстве во время его использования в удаленном сеансе. Его можно использовать только в одном удаленном сеансе одновременно. Периферийные устройства можно использовать одновременно на локальном устройстве и в удаленном сеансе.
Оптимизировано для подключений с низкой задержкой. Переменная на основе реализации периферийных драйверов. Оптимизировано для подключений локальной сети и глобальной сети и учитывает изменения в условиях, таких как пропускная способность и задержка.

Управление непрозрачным перенаправлением USB на низком уровне

Перенаправление периферийных устройств USB с использованием непрозрачного перенаправления USB управляется свойством RDP, где <значение>путь экземпляра устройства в форматеUSB\<Vendor ID and Product ID>\<USB instance ID>. usbdevicestoredirect:s:<value>

Для некоторых продуктов и служб, таких как Виртуальный рабочий стол 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. Ниже приведены три раздела:

  1. Имя водителя шины, в данном случае USB.
  2. Идентификатор устройства, содержащий идентификатор поставщика (VID) и идентификатор продукта (PID) периферийных устройств USB.
  3. Идентификатор экземпляра, который однозначно отличает устройство от других устройств того же типа на компьютере.

При указании USB-периферийных устройств для перенаправления по протоколу RDP можно использовать путь экземпляра устройства. При использовании пути экземпляра устройства значение зависит от порта на локальном устройстве, к которому он подключен. Например, периферийное устройство, подключенное к первому USB-порту, имеет путь USB\VID_045E&PID_0779\5&21F6DCD1&0&5экземпляра устройства, но подключение одного и того же периферийного устройства к второму USB-порту имеет путь USB\VID_045E&PID_0779\5&21F6DCD1&0&6к экземпляру устройства. Для периферийных устройств USB, указывая путь экземпляра устройства, периферийное устройство перенаправляется только при подключении к одному порту.

Кроме того, можно перенаправить весь класс установки устройства периферийных устройств с помощью GUID класса. При использовании GUID класса все периферийные устройства, имеющие соответствующий GUID класса, перенаправляются независимо от порта, к которому они подключены. Например, с помощью GUID {4d36e96c-e325-11ce-bfc1-08002be10318} класса перенаправляет все мультимедийные устройства. Список всех идентификаторов GUID класса доступен в классах установки устройств, определенных системой, доступных поставщикам.

Некоторые примеры использования свойства RDP см . в свойстве RDP usbdevicestoredirect RDP.

Поддерживаемые ресурсы и периферийные устройства

В следующей таблице перечислены все поддерживаемые ресурсы или периферийные классы и рекомендуемый метод перенаправления для каждого из них:

Ресурс или периферийный класс Метод перенаправления Основное направление потока данных
Все в одном принтере или сканере Непрозрачная перенаправления низкого уровня Двунаправленная репликация
Входной звук — микрофон (USB или интегрированный) Высокий уровень — периферийное отражение Локальный к удаленному
Выходные данные звука — динамик (USB или встроенная) Высокий уровень — периферийное отражение Удаленное к локальному
Батарея (автоматическая, не настраиваемая) Высокий уровень — отражение состояния Локальный к удаленному
Биометрическое средство чтения (только в сеансе, а не во время входа) Непрозрачная перенаправления низкого уровня Двунаправленная репликация
Камера/веб-камера (USB или встроенная) Высокий уровень — периферийное отражение Локальный к удаленному
Диск CD/DVD (только для чтения) Высокий уровень — периферийное отражение Локальный к удаленному
Буфер обмена Высокий уровень — общий доступ к данным Двунаправленная репликация
Клавиатура (USB или встроенная) Высокий уровень — периферийное отражение Локальный к удаленному
Локальный жесткий диск или съемный USB-накопитель Высокий уровень — периферийное отражение Двунаправленная репликация
Расположение Высокий уровень — отражение состояния Локальный к удаленному
Мышь (USB или встроенная) Высокий уровень — периферийное отражение Локальный к удаленному
MTP Медиаплеер Высокий уровень — периферийное отражение Локальный к удаленному
Перенаправление мультимедиа Высокий уровень — разделение приложений Двунаправленная репликация
Перо (USB или встроенная) Высокий уровень — периферийное отражение Локальный к удаленному
Принтер (локально подключенный или сетевой) Высокий уровень — периферийное отражение Удаленное к локальному
Камера PTP Высокий уровень — периферийное отражение Локальный к удаленному
Сканер Непрозрачная перенаправления низкого уровня Двунаправленная репликация
Последовательный или COM-порт Непрозрачная перенаправления низкого уровня Двунаправленная репликация
Средство чтения смарт-карт Высокий уровень — периферийное отражение Двунаправленная репликация
Сенсорный (USB или интегрированный) Высокий уровень — периферийное отражение Локальный к удаленному
Трекпад (USB или интегрированный, за исключением жестов сенсорной панели точности (PTP) Высокий уровень — периферийное отражение Локальный к удаленному
USB-адаптер для последовательного адаптера Непрозрачная перенаправления низкого уровня Двунаправленная репликация
Телефон и гарнитура VoIP Непрозрачная перенаправления низкого уровня Двунаправленная репликация
WebAuthN Высокий уровень — периферийное отражение Двунаправленная репликация

Примечание.

  • Следующие периферийные классы заблокированы от перенаправления:

    • Сетевые адаптеры USB.
    • USB-дисплей.
  • Перенаправление сканера не включает поддержку TWAIN.

  • Перенаправление батареи доступно только для виртуального рабочего стола Azure и Windows 365. Он автоматически доступен и не настраивается.

  • Перенаправление стека драйверов Bluetooth не поддерживается. Если периферийное устройство подключено к локальному устройству, например клавиатуре Bluetooth, оно перенаправляется в удаленный сеанс на основе поддерживаемого периферийного класса.

На следующей схеме показаны методы перенаправления, используемые для каждого периферийного класса:

Схема, показывающая, как различные периферийные классы сопоставляют с высокоуровневыми и непрозрачными методами перенаправления низкого уровня.

Порядок приоритета конфигурации

Какие классы устройств включены для перенаправления и как ведут себя перенаправления администратор удаленного сеанса. Поведение можно настроить на стороне сервера Microsoft Intune или групповой политики (Active Directory или локальной) или указать в .rdp файле, который используется для подключения к удаленному сеансу. Виртуальный рабочий стол Azure и службы удаленных рабочих столов также имеют службу брокера, где можно указать свойства RDP.

Однако некоторые параметры можно переопределить на локальном устройстве, где требуется более ограничивающая конфигурация. Более строгий параметр имеет приоритет везде, где она настроена; Например, если администратор настраивает буфер обмена для перенаправления по умолчанию для всех удаленных сеансов, но локальное устройство настроено для отключения перенаправления буфера обмена, буфер обмена недоступен в удаленном сеансе. Это обеспечивает гибкость в сценариях, когда подмножество пользователей или устройств требует более строгих параметров, чем конфигурация по умолчанию.