Udostępnij za pośrednictwem


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 urządzeniem lokalnym (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 ze środowiskiem korzystania z urządzenia lokalnego. To środowisko ułatwia użytkownikom wydajniejszą i wydajniejszą pracę zdalną. Jako administrator możesz skonfigurować przekierowywanie, aby ułatwić równoważenie wymagań dotyczących zabezpieczeń i potrzeb użytkowników.

Ten artykuł zawiera szczegółowe informacje o metodach przekierowania między różnymi klasami peryferyjnymi, klasyfikacjami przekierowania oraz obsługiwanymi typami zasobów i urządzeń peryferyjnych, które można przekierować.

Metody i klasyfikacje przekierowania

Protokół RDP wykorzystuje dwie metody przekierowania do przekierowywania zasobów i urządzeń peryferyjnych między urządzeniem lokalnym a sesją zdalną:

  • Przekierowywanie 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 sterowniku peryferyjnym i obsłudze aplikacji.

  • Nieprzezroczyste przekierowywanie niskiego poziomu: transportuje nieprzetworzonej komunikacji urządzenia peryferyjnego bez próby interpretacji, zrozumienia, ograniczenia lub optymalizacji pod kątem scenariuszy zdalnych.

    Nieprzezroczyste przekierowywanie niskiego poziomu jest używane dla urządzeń peryferyjnych łączących się za pośrednictwem portu USB, gdzie odpowiednie rozwiązanie przekierowania odbicia peryferyjnego wysokiego poziomu nie istnieje, i dla urządzeń peryferyjnych, które mają określone wymagania dotyczące sterownika lub oprogramowania w sesji zdalnej, aby działały prawidłowo. Przekierowywanie USB odbywa się na poziomie portu i protokołu przy użyciu bloków żądań USB (URB). Nieprzezroczyste przekierowywanie niskiego poziomu jest również używane w przypadku urządzeń peryferyjnych łączących się za pośrednictwem portów szeregowych/COM.

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

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

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

  • Odbicie stanu: odzwierciedla stan urządzenia lokalnego w sesji zdalnej, takiej jak stan baterii i lokalizacja.

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

Użyta metoda przekierowania może się różnić w zależności od klasy peryferyjnej, takiej jak Windows, macOS, iOS/iPadOS lub Android oraz jej dostępne zasoby, urządzenia peryferyjne i możliwości. Jakie przekierowanie jest dostępne w sesji zdalnej, zależy również od używanej aplikacji. Porównanie obsługi przekierowania przy użyciu aplikacji systemu Windows na różnych platformach znajduje się w temacie Porównanie funkcji aplikacji systemu Windows na różnych platformach i urządzeniach.

Ważne

Zawsze, gdy jest to możliwe, należy użyć przekierowania wysokiego poziomu, ponieważ zapewnia najlepszą wydajność i środowisko użytkownika. Nieprzezroczyste przekierowywanie niskiego poziomu jest skutecznie scenariuszem rezerwowym, więc wydajność, niezawodność i obsługiwany zestaw funkcji takich urządzeń peryferyjnych nie jest gwarantowany domyślnie.

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

Porównanie przekierowania USB

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

Nieprzezroczyste przekierowywanie USB niskiego poziomu Przekierowywanie wysokiego poziomu
Wymaga zainstalowania sterownika dla urządzenia peryferyjnego USB w sesji zdalnej. Nie wymaga zainstalowania sterownika na urządzeniu lokalnym. Wymaga zainstalowania sterownika urządzenia peryferyjnego na urządzeniu lokalnym. W większości przypadków nie wymaga zainstalowania sterownika w sesji zdalnej.
Używa jednej metody przekierowania dla wielu klas peryferyjnych. Używa określonej metody przekierowania dla każdej klasy peryferyjnej.
Przekazuje bloki żądania USB do i z urządzenia peryferyjnego USB przez połączenie RDP. Uwidacznia wysoką funkcjonalność urządzeń peryferyjnych w sesji zdalnej przy użyciu zoptymalizowanego protokołu dla klasy peryferyjnej.
Urządzenie peryferyjne USB nie może być używane na urządzeniu lokalnym, gdy jest używane w sesji zdalnej. Można go używać tylko w jednej sesji zdalnej naraz. Urządzenie peryferyjne może być używane jednocześnie na urządzeniu lokalnym i w sesji zdalnej.
Zoptymalizowane pod kątem połączeń o małych opóźnieniach. Zmienna oparta na implementacji sterowników peryferyjnych. Zoptymalizowany pod kątem połączeń SIECI LAN i WAN oraz uwzględnia zmiany warunków, takich jak przepustowość i opóźnienie.

Kontrolowanie nieprzezroczystego przekierowania USB niskiego poziomu

Przekierowywanie urządzeń peryferyjnych USB przy użyciu nieprzezroczystego przekierowania USB niskiego poziomu jest kontrolowane przez właściwość RDP , gdzie< wartość> jest ścieżką wystąpienia urządzenia w formacie USB\<Vendor ID and Product ID>\<USB instance ID>.usbdevicestoredirect:s:<value>

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 protokołu RDP w następujący sposób:

  • Niektóre urządzenia peryferyjne USB mogą mieć funkcje korzystające z nieprzezroczystego przekierowania USB niskiego poziomu lub przekierowania 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ć użycie nieprzezroczystego przekierowania USB niskiego poziomu. Aby używać urządzeń peryferyjnych audio USB z nieprzezroczystym przekierowywaniem USB niskiego poziomu, lokalizacja wyjściowa dźwięku musi być ustawiona, aby odtwarzać dźwięki na komputerze lokalnym.

  • Użyj identyfikatorów GUID klasy, aby przekierować lub nie przekierować całej klasy urządzeń peryferyjnych USB.

  • Użyj symbolu wieloznakowego * , ponieważ wartość przekierowuje większość urządzeń peryferyjnych, które nie mają zainstalowanych mechanizmów przekierowania wysokiego poziomu ani sterowników. Identyfikatory GUID klasy mogą służyć do przekierowywania dodatkowych urządzeń peryferyjnych, które nie są dopasowywane automatycznie.

Wartości mogą być używane samodzielnie lub kombinacja tych wartości może być używana w połączeniu ze sobą, gdy są oddzielone średnikami, z zastrzeżeniem zamówienia przetwarzania. W poniższej tabeli wymieniono prawidłowe wartości i kolejność przetwarzania:

Kolejność przetwarzania Wartość Opis
Nie dotyczy Nie określono żadnej wartości Nie przekierowuj żadnych obsługiwanych urządzeń peryferyjnych USB przy użyciu nieprzezroczystego przekierowania niskiego poziomu.
1 * Przekieruj wszystkie urządzenia peryferyjne, które nie korzystają z przekierowania 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 daną ścieżkę wystąpienia urządzenia.
100 <-USBInstanceID> Nie przekierowuj urządzenia peryferyjnego określonego przez daną ścieżkę wystąpienia urządzenia.

Składnia jest tworzona jako ciąg w prawidłowej kolejności przetwarzania:

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

Ścieżka wystąpienia urządzenia dla urządzeń USB jest konstruowana w trzech sekcjach w formacie USB\<Device ID>\<USB instance ID>. Tę wartość można znaleźć w Menedżer urządzeń lub za pomocą 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.

Podczas określania urządzeń peryferyjnych USB do przekierowania za pośrednictwem protokołu 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 połączony. 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 połączenie tego samego urządzenia peryferyjnego z drugim portem 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 w przypadku połączenia z tym samym portem.

Alternatywnie można przekierować całą klasę konfiguracji 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, z którym 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 klasy jest dostępna w temacie Klasy konfiguracji urządzeń zdefiniowanych przez system dostępne dla dostawców.

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

Obsługiwane zasoby i urządzenia peryferyjne

W poniższej tabeli wymieniono każdy obsługiwany zasób lub klasę peryferyjną oraz zalecaną metodę przekierowania do użycia dla każdego z nich:

Zasób lub klasa peryferyjna Metoda przekierowania Kierunek przepływu dominujących danych
Drukarka/skaner all-in-one Nieprzezroczyste przekierowywanie niskiego poziomu Dwukierunkowe
Wejście audio — mikrofon (USB lub zintegrowany) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Wyjście audio — głośnik (USB lub zintegrowany) Wysoki poziom — odbicie peryferyjne Zdalne do lokalnego
Bateria (automatyczna, niemożliwa do skonfigurowania) Wysoki poziom — odbicie stanu Lokalne do zdalnego
Czytnik biometryczny (tylko w ramach sesji, a nie podczas logowania) Nieprzezroczyste przekierowywanie niskiego poziomu Dwukierunkowe
Kamera/kamera internetowa (USB lub zintegrowana) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Stacja dysków CD/DVD (tylko do odczytu) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Schowek Ogólne — udostępnianie danych Dwukierunkowe
Klawiatura (USB lub zintegrowana) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Lokalny dysk twardy lub magazyn wymienny USB Wysoki poziom — odbicie peryferyjne Dwukierunkowe
Lokalizacja Wysoki poziom — odbicie stanu Lokalne do zdalnego
Mysz (USB lub zintegrowana) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Odtwarzacz multimedialny MTP Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Przekierowywanie multimediów Ogólne — dzielenie aplikacji Dwukierunkowe
Pióro (USB lub zintegrowane) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Drukarka (podłączona lokalnie lub sieć) Wysoki poziom — odbicie peryferyjne Zdalne do lokalnego
Kamera PTP Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Skaner Nieprzezroczyste przekierowywanie niskiego poziomu Dwukierunkowe
Port szeregowy/COM Nieprzezroczyste przekierowywanie niskiego poziomu Dwukierunkowe
Czytnik kart inteligentnych Wysoki poziom — odbicie peryferyjne Dwukierunkowe
Dotyk (USB lub zintegrowany) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Trackpad (USB lub zintegrowany, z wyłączeniem precyzyjnych gestów klawiatury dotykowej (PTP) Wysoki poziom — odbicie peryferyjne Lokalne do zdalnego
Adapter usb-szeregowy Nieprzezroczyste przekierowywanie niskiego poziomu Dwukierunkowe
Telefon VoIP/zestaw słuchawkowy Nieprzezroczyste przekierowywanie niskiego poziomu Dwukierunkowe
WebAuthN Wysoki poziom — odbicie peryferyjne Dwukierunkowe

Uwaga

  • Następujące klasy peryferyjne są blokowane z przekierowania:

    • Karty sieciowe USB.
    • Wyświetlacze USB.
  • Przekierowywanie skanera nie obejmuje obsługi protokołu TWAIN.

  • Przekierowywanie baterii jest dostępne tylko dla usług Azure Virtual Desktop i Windows 365. Jest on automatycznie dostępny i nie można go konfigurować.

Na poniższym diagramie przedstawiono metody przekierowania używane dla każdej klasy peryferyjnej:

Diagram przedstawiający sposób mapowania różnych klas urządzeń peryferyjnych na metody przekierowania niskiego poziomu i nieprzezroczyste.

Kolejność priorytetu konfiguracji

Które klasy urządzeń są włączone dla przekierowania i jak działają przekierowania, są konfigurowane przez administratora sesji zdalnej. Zachowanie można skonfigurować za pomocą usługi Microsoft Intune lub po stronie serwera zasad grupy (usługi Active Directory lub lokalnego) lub określonego w pliku używanym .rdp do nawiązywania połączenia z sesją zdalną. Usługi pulpitu wirtualnego platformy Azure i usług pulpitu zdalnego mają również usługę brokera, w której można określić właściwości protokołu RDP.

Jednak niektóre ustawienia można zastąpić na urządzeniu lokalnym, gdy wymagana jest bardziej restrykcyjna konfiguracja. Bardziej restrykcyjne ustawienie ma pierwszeństwo niezależnie od tego, gdzie jest skonfigurowany; na przykład jeśli administrator skonfiguruje schowek domyślnie przekierowania dla wszystkich sesji zdalnych, ale urządzenie lokalne jest skonfigurowane do wyłączania przekierowania schowka, schowek nie jest dostępny w sesji zdalnej. Zapewnia to elastyczność w scenariuszach, w których podzbiór użytkowników lub urządzeń wymaga bardziej restrykcyjnych ustawień niż konfiguracja domyślna.