Udostępnij za pośrednictwem


Przekierowanie urządzeń peryferyjnych i zasobów za pośrednictwem protokołu pulpitu zdalnego

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 z środowiskiem korzystania z urządzenia lokalnego. To środowisko pomaga użytkownikom być bardziej produktywni i wydajniejsi podczas pracy zdalnej. Jako administrator możesz skonfigurować przekierowanie, aby ułatwić równowagę między wymaganiami dotyczącymi zabezpieczeń a potrzebami użytkowników.

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

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ą:

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

  • Nieprzejrzysty przekierowywanie niskiego poziomu: transportuje nieprzetworzoną komunikację urządzenia peryferyjnego bez żadnej próby interpretacji, zrozumienia, ograniczenia przepustowości lub zoptymalizowania jej pod kątem scenariuszy zdalnych.

    Nieprzezroczysty przekierowywanie niskiego poziomu jest używane w przypadku urządzeń peryferyjnych łączących się za pośrednictwem portu USB, gdzie nie istnieje odpowiednie rozwiązanie przekierowywania odbicia peryferyjnego wysokiego poziomu, a urządzenia peryferyjne, które mają określone wymagania dotyczące sterownika lub oprogramowania w sesji zdalnej, działają prawidłowo. Przekierowanie USB odbywa się na poziomie portu i protokołu przy użyciu bloków żądań USB (URB). Nieprzezroczysty 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 używane są cztery techniki nadrzędne, które są klasyfikowane na podstawie kierunku przekierowania i typu przekierowywania zasobu lub urządzenia peryferyjnego. Cztery klasyfikacje przekierowań wysokiego poziomu to:

  • Odbicie peryferyjne: odzwierciedla określoną klasę urządzeń peryferyjnych połączonych z urządzeniem lokalnym w sesji zdalnej. Ta klasyfikacja obejmuje urządzenia wejściowe, takie jak klawiatura, mysz, dotyk, pióro i gładzik.

  • 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, na przykład stan baterii i lokalizację.

  • Podział aplikacji: dzieli funkcje aplikacji na urządzenie lokalne i sesję zdalną, taką jak Microsoft Teams.

Używana metoda przekierowania może się różnić w zależności od klasy peryferyjnej, takiej jak Windows, macOS, iOS/iPadOS lub Android, a także 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 porównać obsługę przekierowania przy użyciu Windows App na różnych platformach, zobacz Porównanie funkcji Windows App na różnych platformach i urządzeniach.

Ważna

Należy używać przekierowania wysokiego poziomu, gdy tylko jest to możliwe, ponieważ zapewnia najlepszą wydajność i środowisko użytkownika. Nieprzezroczysty niskiego poziomu przekierowywanie jest w praktyce scenariuszem rezerwowym, więc wydajność, niezawodność i obsługiwany zestaw funkcji takich urządzeń peryferyjnych nie są domyślnie gwarantowane.

Nie można przekierować niektórych urządzeń peryferyjnych, 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 przekierowywania urządzenia peryferyjnego przy użyciu przekierowania wysokiego poziomu z obsługiwaną klasą peryferyjną za pośrednictwem protokołu RDP:

Nieprzezroczysty przekierowywanie usb niskiego poziomu Przekierowanie wysokiego poziomu
Wymaga, aby sterownik urządzenia peryferyjnego USB był instalowany 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 to zainstalowania sterownika w sesji zdalnej.
Używa pojedynczej 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 za pośrednictwem połączenia RDP. Uwidacznia funkcje peryferyjne wysokiego poziomu w sesji zdalnej przy użyciu zoptymalizowanego protokołu dla klasy peryferyjnej.
Urządzenia peryferyjnego USB nie można używać na urządzeniu lokalnym, gdy jest używane w sesji zdalnej. Może być używany tylko w jednej sesji zdalnej jednocześnie. Urządzenia peryferyjne mogą 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 sterownika peryferyjnego. Zoptymalizowany pod kątem połączeń sieci LAN i sieci WAN oraz jest świadomy zmian warunków, takich jak przepustowość i opóźnienie.

Kontrolowanie nieprzezroczystego przekierowywania USB niskiego poziomu

Przekierowywanie urządzeń peryferyjnych USB przy użyciu nieprzezroczystego przekierowywania USB niskiego poziomu jest kontrolowane przez właściwośćusbdevicestoredirect:s:<value> RDP, gdzie <wartość> jest ścieżką 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, które używają nieprzezroczystego przekierowywania 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ć na tych urządzeniach peryferyjnych użycie nieprzezroczystego przekierowywania USB niskiego poziomu. Aby używać urządzeń peryferyjnych usb audio z nieprzezroczystym przekierowywaniem usb niskiego poziomu, należy ustawić lokalizację wyjściową dźwięku do odtwarzania dźwięków na komputerze lokalnym.

  • Użyj identyfikatorów GUID klasy , aby przekierować lub nie przekierowywać 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 mechanizmów przekierowania wysokiego poziomu lub sterowników. Identyfikatory GUID klas mogą służyć do przekierowywania dodatkowych urządzeń peryferyjnych, które nie są dopasowane automatycznie.

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

Kolejność przetwarzania Value 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ą członkami określonej klasy konfiguracji urządzenia.
3 <USBInstanceID> Przekieruj urządzenie peryferyjne USB określone przez daną ścieżkę wystąpienia urządzenia.
4 <-USBInstanceID> Nie przekierowuj urządzenia peryferyjnego określonego przez daną ścieżkę wystąpienia urządzenia.

W przypadku konstruowania jako ciąg w prawidłowej kolejności przetwarzania składnia to:

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

Ścieżka wystąpienia urządzenia dla urządzeń USB jest skonstruowana 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 przekierowywania 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 po podłączeniu do tego samego portu.

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 klas jest dostępna w klasach konfiguracji urządzeń zdefiniowanych przez system dostępnych dla dostawców.

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

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:

Klasa zasobów lub urządzeń peryferyjnych Metoda przekierowania Kierunek dominującego przepływu danych
Drukarka/skaner typu "wszystko w jednym" Nieprzejrzysty przekierowywanie niskiego poziomu Dwukierunkowy
Wejście audio — mikrofon (USB lub zintegrowany) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Wyjście audio — głośnik (USB lub zintegrowany) Wysoki poziom — odbicie peryferyjne Zdalne do lokalnego
Bateria (automatyczna, niesfigurowalna) Wysoki poziom — odbicie stanu Od lokalnego do zdalnego
Czytnik biometryczny (tylko w ramach sesji, a nie podczas logowania) Nieprzejrzysty przekierowywanie niskiego poziomu Dwukierunkowy
Kamera/kamera internetowa (USB lub zintegrowana) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Dysk CD/DVD (tylko do odczytu) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Schowek Wysoki poziom — udostępnianie danych Dwukierunkowy
Klawiatura (USB lub zintegrowana) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Lokalny dysk twardy lub magazyn wymienny USB Wysoki poziom — odbicie peryferyjne Dwukierunkowy
Lokalizacja Wysoki poziom — odbicie stanu Od lokalnego do zdalnego
Mysz (USB lub zintegrowana) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
MTP Media Player Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Przekierowanie multimediów Wysoki poziom — dzielenie aplikacji Dwukierunkowy
Pióro (USB lub zintegrowane) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Drukarka (lokalnie podłączona lub sieć) Wysoki poziom — odbicie peryferyjne Zdalne do lokalnego
Aparat PTP Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Skaner Nieprzejrzysty przekierowywanie niskiego poziomu Dwukierunkowy
Port szeregowy/COM Nieprzejrzysty przekierowywanie niskiego poziomu Dwukierunkowy
Czytnik kart inteligentnych Wysoki poziom — odbicie peryferyjne Dwukierunkowy
Dotyk (USB lub zintegrowany) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Gładzik (USB lub zintegrowany, z wyłączeniem gestów precyzyjnego panelu dotykowego (PTP) Wysoki poziom — odbicie peryferyjne Od lokalnego do zdalnego
Usb do adaptera szeregowego Nieprzejrzysty przekierowywanie niskiego poziomu Dwukierunkowy
Telefon/zestaw słuchawkowy VoIP Nieprzejrzysty przekierowywanie niskiego poziomu Dwukierunkowy
WebAuthN Wysoki poziom — odbicie peryferyjne Dwukierunkowy

Uwaga

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

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

  • Przekierowanie baterii jest dostępne tylko dla usługi Azure Virtual Desktop i Windows 365. Jest ona automatycznie dostępna i nie można jej skonfigurować.

  • Przekierowywanie stosu sterowników bluetooth nie jest obsługiwane. Jeśli urządzenie peryferyjne jest połączone z urządzeniem lokalnym, takim jak klawiatura bluetooth, jest przekierowywane do sesji zdalnej w oparciu o obsługiwaną klasę urządzeń peryferyjnych.

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

Diagram przedstawiający sposób mapowania różnych klas peryferyjnych na metody przekierowywania wysokiego i nieprzezroczystego niskiego poziomu.

Kolejność priorytetów konfiguracji

Które klasy urządzeń są włączone na potrzeby przekierowywania i jak zachowują się przekierowania, są konfigurowane przez administratora sesji zdalnej. Zachowanie można skonfigurować po stronie serwera Microsoft Intune lub zasady grupy (usługi Active Directory lub lokalnej) lub określić w pliku używanym .rdp do nawiązywania połączenia z sesją zdalną. Usługa Azure Virtual Desktop i usługi pulpitu zdalnego mają również usługę brokera, w której można zamiast tego określić właściwości protokołu RDP.

Jednak niektóre ustawienia można zastąpić na urządzeniu lokalnym, gdzie wymagana jest bardziej restrykcyjna konfiguracja. Bardziej restrykcyjne ustawienie ma pierwszeństwo wszędzie tam, gdzie jest skonfigurowane; Jeśli na przykład administrator skonfiguruje domyślne przekierowanie schowka 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 podzestaw użytkowników lub urządzeń wymaga bardziej restrykcyjnych ustawień niż konfiguracja domyślna.