Przekierowywanie urządzeń peryferyjnych i zasobów za pośrednictwem protokołu Remote Desktop Protocol

Przekierowanie umożliwia użytkownikom udostępnianie zasobów i urządzeń peryferyjnych, takich jak schowek, kamery internetowe, urządzenia USB, drukarki i inne, między ich urządzeniami lokalnymi (po stronie klienta) a sesją zdalną (po stronie serwera) za pośrednictwem protokołu RDP (Remote Desktop Protocol ). Przekierowanie ma na celu zapewnienie bezproblemowego środowiska zdalnego, porównywalnego do korzystania z urządzenia lokalnego. To środowisko pomaga użytkownikom pracować wydajniej i wydajniej podczas pracy zdalnej. Jako administrator możesz skonfigurować przekierowanie, aby zachować równowagę między wymaganiami dotyczącymi zabezpieczeń a potrzebami użytkowników.

Ten artykuł zawiera szczegółowe informacje na temat metod przekierowywania między różnymi klasami urządzeń peryferyjnych, klasyfikacji przekierowywania oraz obsługiwanych typów zasobów i urządzeń peryferyjnych, które można przekierowywać.

Metody przekierowywania i klasyfikacje

Protokół RDP używa dwóch metod przekierowywania zasobów i urządzeń peryferyjnych między urządzeniem lokalnym a sesją zdalną:

  • Przekierowanie wysokiego poziomu: działa jako inteligentny pośrednik, przechwytując i optymalizując całą komunikację dla określonej klasy urządzeń peryferyjnych lub środowiska. Przekierowanie wysokiego poziomu zapewnia najlepszą możliwą wydajność w scenariuszach zdalnych, ale opiera się również na obsłudze sterowników i aplikacji urządzeń peryferyjnych.

  • Nieprzezroczyste przekierowanie niskiego poziomu: transportuje pierwotną komunikację urządzenia peryferyjnego bez żadnych prób interpretacji, zrozumienia, ograniczania lub optymalizacji pod kątem scenariuszy zdalnych.

    Nieprzezroczyste przekierowanie niskiego poziomu jest używane w przypadku urządzeń peryferyjnych podłączanych przez USB, gdy nie istnieje odpowiednie rozwiązanie do przekierowania odbicia od urządzeń peryferyjnych wysokiego poziomu, a także w przypadku urządzeń peryferyjnych, które mają określone wymagania dotyczące sterowników lub oprogramowania w sesji zdalnej, aby działały prawidłowo. Przekierowywanie USB odbywa się na poziomie portu i protokołu za pomocą bloków żądań USB (URB). Nieprzezroczyste przekierowanie niskiego poziomu jest również używane w przypadku urządzeń peryferyjnych, które łączą się przez porty szeregowe/COM.

W ramach przekierowywania wysokiego poziomu są używane cztery nadrzędne techniki, które są klasyfikowane na podstawie kierunku przekierowania i typu przekierowywanego zasobu lub urządzenia peryferyjnego. Cztery klasyfikacje przekierowywania wysokiego poziomu to:

  • Odbicie peryferyjne: odbija określoną klasę urządzeń peryferyjnych podłączonych do urządzenia lokalnego w sesji zdalnej. Ta klasyfikacja obejmuje urządzenia wejściowe, takie jak klawiatura, mysz, dotyk, pióro i płytka dotykowa.

  • Udostępnianie danych: udostępnia i przesyła dane między urządzeniem lokalnym a sesją zdalną dla schowka.

  • Odbicie stanu: Odzwierciedla lokalny stan urządzenia w sesji zdalnej, taki jak stan baterii i lokalizacja.

  • Dzielenie aplikacji: dzieli funkcjonalność aplikacji na urządzenie lokalne i sesję zdalną, taką jak Microsoft Teams.

Używana metoda przekierowywania może się różnić w zależności od klasy urządzeń peryferyjnych, takich jak Windows, macOS, iOS/iPadOS lub Android, oraz dostępnych zasobów, urządzeń peryferyjnych i możliwości. To, jakie przekierowanie jest dostępne w sesji zdalnej, zależy również od używanej aplikacji. Aby uzyskać porównanie obsługi przekierowywania przy użyciu aplikacji aplikacja dla systemu Windows na różnych platformach, zobacz Porównanie funkcji aplikacji aplikacja dla systemu Windows na różnych platformach i urządzeniach.

Ważna

Zawsze, gdy jest to możliwe, należy używać przekierowywania wysokiego poziomu, ponieważ zapewnia ono najlepszą wydajność i środowisko użytkownika. Nieprzezroczyste przekierowanie niskiego poziomu jest w rzeczywistości scenariuszem rezerwowym, więc wydajność, niezawodność i obsługiwany zestaw funkcji takich urządzeń peryferyjnych nie są domyślnie gwarantowane.

Niektórych urządzeń peryferyjnych, takich jak szyfrowany magazyn USB, nie można przekierowywać.

Porównanie przekierowań USB

W poniższej tabeli porównano przekierowywanie urządzenia peryferyjnego USB przy użyciu nieprzezroczystego przekierowania USB niskiego poziomu z przekierowywaniem urządzenia peryferyjnego przy użyciu przekierowania wysokiego poziomu z obsługiwaną klasą urządzeń peryferyjnych za pośrednictwem protokołu RDP:

Nieprzezroczyste przekierowywanie USB niskiego poziomu Przekierowanie wysokiego poziomu
Wymaga zainstalowania sterownika urządzenia peryferyjnego USB w sesji zdalnej. Nie wymaga instalowania sterownika na urządzeniu lokalnym. Wymaga, aby sterownik urządzenia peryferyjnego był zainstalowany na urządzeniu lokalnym. W większości przypadków nie wymaga to zainstalowania sterownika w sesji zdalnej.
Używa pojedynczej metody przekierowywania dla wielu klas peryferyjnych. Używa określonej metody przekierowywania dla każdej klasy urządzeń peryferyjnych.
Przekazuje bloki żądań USB do i z urządzenia peryferyjnego USB za pośrednictwem połączenia RDP. Uwidacznia funkcje urządzeń peryferyjnych wysokiego poziomu w sesji zdalnej przy użyciu protokołu zoptymalizowanego dla klasy urządzeń peryferyjnych.
Urządzenie peryferyjne USB nie może być używane na urządzeniu lokalnym, gdy jest używane w sesji zdalnej. Może być używany tylko w jednej sesji zdalnej naraz. Urządzenie peryferyjne może być używane jednocześnie na urządzeniu lokalnym i w sesji zdalnej.
Optymalizacja pod kątem połączeń o małych opóźnieniach. Zmienna oparta na implementacji sterownika urządzeń peryferyjnych. Optymalizacja pod kątem połączeń LAN i WAN oraz rozpoznawanie zmian warunków, takich jak przepustowość i opóźnienie.

Sterowanie nieprzezroczystym przekierowaniem USB niskiego poziomu

Przekierowywanie urządzeń peryferyjnych USB za pomocą nieprzezroczystego niskopoziomowego przekierowania USB jest kontrolowane przez właściwośćusbdevicestoredirect:s:<value> RDP, gdzie <wartością> jest ścieżka wystąpienia urządzenia w formacie USB\<Vendor ID and Product ID>\<USB instance ID>.

W przypadku niektórych produktów i usług, takich jak usługa Azure Virtual Desktop, można kontrolować zachowanie przekierowania, ustawiając wartość właściwości RDP w następujący sposób:

  • Niektóre urządzenia peryferyjne USB mogą mieć funkcje wykorzystujące nieprzezroczyste przekierowywanie USB niskiego lub wysokiego poziomu. Domyślnie te urządzenia peryferyjne są przekierowywane przy użyciu przekierowania wysokiego poziomu. Możesz użyć właściwości RDP, aby wymusić na tych urządzeniach peryferyjnych używanie nieprzezroczystego przekierowywania USB niskiego poziomu. Aby można było używać urządzeń peryferyjnych audio USB z nieprzezroczystym przekierowaniem USB niskiego poziomu, lokalizacja wyjścia audio musi być ustawiona na odtwarzanie dźwięków na komputerze lokalnym.

  • Identyfikatory GUID klas służą do przekierowywania lub nie przekierowywania całej klasy urządzeń peryferyjnych USB.

  • Użyj symbolu wieloznacznego * , ponieważ wartość spowoduje przekierowanie większości urządzeń peryferyjnych, które nie mają zainstalowanych zaawansowanych mechanizmów przekierowywania ani sterowników. Identyfikatory GUID klas mogą służyć do przekierowywania dodatkowych urządzeń peryferyjnych, które nie są dopasowywane automatycznie.

Wartości mogą być używane osobno lub kombinacje tych wartości mogą być używane w połączeniu ze sobą, gdy są rozdzielone średnikami, z zastrzeżeniem kolejności przetwarzania. W poniższej tabeli wymieniono prawidłowe wartości i kolejność przetwarzania:

Przetwarzanie zamówienia Value Opis
Nie dotyczy Nie określono wartości Nie przekierowuj żadnych obsługiwanych urządzeń peryferyjnych USB za pomocą nieprzezroczystego przekierowania niskiego poziomu.
1 * Przekieruj wszystkie urządzenia peryferyjne, które nie korzystają z przekierowywania wysokiego poziomu.
2 {<DeviceClassGUID>} Przekieruj wszystkie urządzenia peryferyjne, które są elementami członkowskimi określonej klasy konfiguracji urządzenia.
3 <USBInstanceID> Przekieruj urządzenie peryferyjne USB określone przez ścieżkę wystąpienia danego urządzenia.
4 <-USBInstanceID> Nie przekierowuj urządzenia peryferyjnego określonego przez daną ścieżkę wystąpienia urządzenia.

Gdy jest skonstruowany jako ciąg w poprawnej kolejności przetwarzania, składnia jest następująca:

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

Ścieżka instancji urządzenia dla urządzeń USB składa się z trzech sekcji w formacie USB\<Device ID>\<USB instance ID>. Możesz znaleźć tę wartość w Menedżer urządzeń lub przy użyciu polecenia cmdlet Get-PnpDevice programu PowerShell. Trzy sekcje w kolejności to:

  1. Nazwa sterownika magistrali, w tym przypadku USB.
  2. Identyfikator urządzenia, który zawiera identyfikator dostawcy (VID) i identyfikator produktu (PID) urządzenia peryferyjnego USB.
  3. Identyfikator wystąpienia, który jednoznacznie odróżnia urządzenie od innych urządzeń tego samego typu na komputerze.

Określając urządzenia peryferyjne USB do przekierowania przez protokół RDP, można użyć ścieżki wystąpienia urządzenia. W przypadku korzystania ze ścieżki wystąpienia urządzenia wartość jest specyficzna dla portu na urządzeniu lokalnym, z którym jest ono połączone. Na przykład urządzenie peryferyjne podłączone do pierwszego portu USB ma ścieżkę USB\VID_045E&PID_0779\5&21F6DCD1&0&5wystąpienia urządzenia , ale podłączenie tego samego urządzenia peryferyjnego do drugiego portu USB ma ścieżkę USB\VID_045E&PID_0779\5&21F6DCD1&0&6wystąpienia urządzenia . W przypadku urządzeń peryferyjnych USB określenie ścieżki wystąpienia urządzenia oznacza, że urządzenie peryferyjne jest przekierowywane tylko wtedy, gdy jest podłączone do tego samego portu.

Alternatywnie można przekierować klasę konfiguracji całego urządzenia dla urządzeń peryferyjnych USB przy użyciu identyfikatora GUID klasy. W przypadku korzystania z identyfikatora GUID klasy wszystkie urządzenia peryferyjne na urządzeniu lokalnym, które mają odpowiedni identyfikator GUID klasy, są przekierowywane, niezależnie od portu, do którego są połączone. Na przykład użycie identyfikatora GUID {4d36e96c-e325-11ce-bfc1-08002be10318} klasy przekierowuje wszystkie urządzenia multimedialne. Lista wszystkich identyfikatorów GUID klas jest dostępna na stronie System-Defined Device Setup Classes available to Vendors.

Aby zapoznać się z przykładami użycia właściwości RDP, zobacz właściwość RDP usbdevicestoredirect.

Obsługiwane zasoby i urządzenia peryferyjne

W poniższej tabeli wymieniono wszystkie obsługiwane klasy zasobów lub urządzeń peryferyjnych oraz zalecane metody przekierowywania dla poszczególnych z nich:

Klasa zasobu lub urządzenia zewnętrznego Metoda przekierowywania Dominujący kierunek przepływu danych
Wielofunkcyjna drukarka/skaner Nieprzezroczyste przekierowanie niskiego poziomu Dwukierunkowy
Wejście audio - mikrofon (USB lub zintegrowany) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Wyjście audio — głośnik (USB lub zintegrowany) Wysoki poziom - odbicie peryferyjne Od zdalnego do lokalnego
Bateria (automatyczna, niekonfigurowana) Wysoki poziom — refleksja o stanie Lokalnie na zdalne
Czytnik biometryczny (tylko w ramach sesji, nie podczas logowania) Nieprzezroczyste przekierowanie niskiego poziomu Dwukierunkowy
Kamera/kamera internetowa (USB lub zintegrowana) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Stacja CD/DVD (tylko do odczytu) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Schowek Wysoki poziom — udostępnianie danych Dwukierunkowy
Klawiatura (USB lub zintegrowana) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Lokalny dysk twardy lub wymienna pamięć USB Wysoki poziom - odbicie peryferyjne Dwukierunkowy
Lokalizacja Wysoki poziom — refleksja o stanie Lokalnie na zdalne
Mysz (USB lub zintegrowana) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
MTP Media Player Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Przekierowywanie multimediów Wysoki poziom — dzielenie aplikacji Dwukierunkowy
Pióro (USB lub zintegrowane) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Drukarka (podłączona lokalnie lub sieciowa) Wysoki poziom - odbicie peryferyjne Od zdalnego do lokalnego
Kamera PTP Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Skaner Wysoki poziom - odbicie peryferyjne Dwukierunkowy
Port szeregowy/COM Nieprzezroczyste przekierowanie niskiego poziomu Dwukierunkowy
Czytnik kart inteligentnych Wysoki poziom - odbicie peryferyjne Dwukierunkowy
Dotyk (USB lub zintegrowany) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Płytka dotykowa (USB lub zintegrowana, z wyjątkiem gestów precyzyjnej płytki dotykowej (PTP)) Wysoki poziom - odbicie peryferyjne Lokalnie na zdalne
Adapter z USB na port szeregowy Nieprzezroczyste przekierowanie niskiego poziomu Dwukierunkowy
Telefon/zestaw słuchawkowy VoIP Nieprzezroczyste przekierowanie niskiego poziomu Dwukierunkowy
WebAuthN (Autoryzacja sieciowa) Wysoki poziom - odbicie peryferyjne Dwukierunkowy

Uwaga

  • Następujące klasy urządzeń peryferyjnych są blokowane przed przekierowaniem:

    • Karty sieciowe USB.
    • Wyświetlacze USB.
  • Przekierowanie baterii jest dostępne tylko dla usługi Azure Virtual Desktop i systemu Windows 365. Jest ona dostępna automatycznie i nie można jej konfigurować.

  • Przekierowywanie stosu sterowników bluetooth nie jest obsługiwane. Jeśli urządzenie peryferyjne, takie jak klawiatura Bluetooth, jest połączone z urządzeniem lokalnym, jest przekierowywane do sesji zdalnej na podstawie obsługiwanej klasy urządzenia peryferyjnego.

Na poniższym diagramie przedstawiono metody przekierowywania używane dla poszczególnych klas urządzeń peryferyjnych:

Diagram przedstawiający mapowanie różnych klas urządzeń peryferyjnych na wysokopoziomowe i nieprzezroczyste niskopoziomowe metody przekierowania.

Kolejność priorytetów konfiguracji

Klasy urządzeń, dla których włączono przekierowywanie, oraz sposób zachowania przekierowań konfiguruje administrator sesji zdalnej. Zachowanie może być skonfigurowane przez usługę Microsoft Intune lub zasady grupy (usługę Active Directory lub lokalnie) po stronie serwera albo określone w .rdp pliku, który jest używany do łączenia się z sesją zdalną. Usługi pulpitu wirtualnego platformy Azure i pulpitu zdalnego również posiadają usługę brokera, w której można określić właściwości protokołu RDP.

Jednak niektóre ustawienia mogą zostać zastąpione na urządzeniu lokalnym, gdzie wymagana jest bardziej restrykcyjna konfiguracja. Bardziej restrykcyjne ustawienie ma pierwszeństwo niezależnie od tego, gdzie jest skonfigurowane; Jeśli na przykład administrator skonfiguruje schowek tak, aby był domyślnie przekierowywany dla wszystkich sesji zdalnych, ale urządzenie lokalne jest skonfigurowane w taki sposób, aby wyłączyć przekierowywanie schowka, schowek nie będzie dostępny w sesji zdalnej. Zapewnia to elastyczność w scenariuszach, gdy podzbiór użytkowników lub urządzeń wymaga bardziej restrykcyjnych ustawień niż konfiguracja domyślna.