Reindirizzamento di periferiche e risorse tramite Desktop remoto Protocol

Il reindirizzamento consente agli utenti di condividere risorse e periferiche, ad esempio appunti, webcam, dispositivi USB, stampanti e altro ancora, tra il dispositivo locale (lato client) e una sessione remota (lato server) tramite Remote Desktop Protocol (RDP). Il reindirizzamento mira a fornire un'esperienza remota senza interruzioni, paragonabile a quella con il dispositivo locale. Questa esperienza consente agli utenti di essere più produttivi ed efficienti quando lavorano in remoto. L'amministratore può configurare il reindirizzamento per trovare un equilibrio tra i requisiti di sicurezza e le esigenze degli utenti.

Questo articolo fornisce informazioni dettagliate sui metodi di reindirizzamento tra classi periferiche diverse, sulle classificazioni di reindirizzamento e sui tipi supportati di risorse e periferiche che è possibile reindirizzare.

Metodi e classificazioni di reindirizzamento

RDP sfrutta due metodi di reindirizzamento per reindirizzare risorse e periferiche tra il dispositivo locale e una sessione remota:

  • Reindirizzamento di alto livello: funziona come un intermediario intelligente intercettando e ottimizzando tutte le comunicazioni per una specifica classe di periferiche o esperienza. Il reindirizzamento di alto livello garantisce le migliori prestazioni possibili per gli scenari remoti, ma si basa anche sul supporto delle periferiche, dei driver e delle applicazioni.

  • Reindirizzamento opaco di basso livello: trasporta la comunicazione grezza di una periferica senza alcun tentativo di interpretarla, comprenderla, limitarla o ottimizzarla per scenari remoti.

    Il reindirizzamento opaco di basso livello viene usato per le periferiche che si connettono tramite USB in cui non esiste una soluzione di reindirizzamento a riflessione delle periferiche di alto livello adatta e per il corretto funzionamento delle periferiche con particolari requisiti di driver o software nella sessione remota. Il reindirizzamento USB avviene a livello di porta e protocollo usando i blocchi di richiesta USB (URB). Il reindirizzamento opaco di basso livello viene utilizzato anche per le periferiche che si connettono tramite porte seriali/COM.

Nell'ambito del reindirizzamento di alto livello, vengono utilizzate quattro tecniche generali, classificate in base alla direzione del reindirizzamento e al tipo di risorsa o periferica reindirizzata. Le quattro classificazioni di reindirizzamento di alto livello sono:

  • Riflessione periferica: riflette una classe specifica di periferiche connesse al dispositivo locale in una sessione remota. Questa classificazione include dispositivi di input, come tastiera, mouse, tocco, penna e trackpad.

  • Condivisione dei dati: condivide e trasferisce i dati tra il dispositivo locale e una sessione remota per gli appunti.

  • Riflesso dello stato: riflette lo stato del dispositivo locale in una sessione remota, ad esempio lo stato e la posizione della batteria.

  • Suddivisione delle applicazioni: suddivide le funzionalità di un'applicazione tra il dispositivo locale e una sessione remota, ad esempio Microsoft Teams.

Il metodo di reindirizzamento usato può variare in base alla classe periferica, ad esempio Windows, macOS, iOS/iPadOS o Android, e alle risorse, alle periferiche e alle funzionalità disponibili. Il reindirizzamento disponibile in una sessione remota dipende anche dall'applicazione usata. Per un confronto del supporto per il reindirizzamento tramite l'app di Windows app di Windows su piattaforme diverse, vedere Confrontare le funzionalità delle app di app di Windows tra piattaforme e dispositivi.

Importante

È consigliabile usare il reindirizzamento di alto livello quando possibile, perché offre le migliori prestazioni e la migliore esperienza utente. Il reindirizzamento opaco di basso livello è in effetti uno scenario di fallback, quindi le prestazioni, l'affidabilità e il set di funzionalità supportate di tali periferiche non sono garantiti per impostazione predefinita.

Alcune periferiche non possono essere reindirizzate, ad esempio l'archiviazione USB crittografata.

Confronto del reindirizzamento USB

La tabella seguente confronta il reindirizzamento di una periferica USB tramite il reindirizzamento USB opaco di basso livello con il reindirizzamento della periferica tramite reindirizzamento di alto livello con una classe di periferiche supportata su RDP:

Reindirizzamento USB opaco di basso livello Reindirizzamento di alto livello
Richiede il driver per la periferica USB da installare nella sessione remota. Non richiede l'installazione del driver nel dispositivo locale. Richiede il driver per la periferica da installare nel dispositivo locale. Nella maggior parte dei casi, non è necessario installare il driver nella sessione remota.
Usa un unico metodo di reindirizzamento per molte classi periferiche. Usa un metodo di reindirizzamento specifico per ogni classe periferica.
Inoltra i blocchi di richiesta USB da e verso la periferica USB tramite la connessione RDP. Espone le funzionalità periferiche di alto livello in una sessione remota usando un protocollo ottimizzato per la classe periferica.
La periferica USB non può essere usata nel dispositivo locale mentre è in uso in una sessione remota. Può essere usato solo in una sessione remota alla volta. La periferica può essere utilizzata contemporaneamente nel dispositivo locale e in una sessione remota.
Ottimizzato per connessioni a bassa latenza. Variabile in base all'implementazione del driver periferico. Ottimizzato per connessioni LAN e WAN ed è consapevole dei cambiamenti delle condizioni, come larghezza di banda e latenza.

Controllo del reindirizzamento USB opaco di basso livello

Il reindirizzamento delle periferiche USB utilizzando il reindirizzamento USB opaco di basso livello è controllato dalla proprietà usbdevicestoredirect:s:<value>RDP, dove <il valore> è il percorso dell'istanza del dispositivo nel formato USB\<Vendor ID and Product ID>\<USB instance ID>.

Per alcuni prodotti e servizi, ad esempio Desktop virtuale Azure, è possibile controllare il comportamento del reindirizzamento impostando il valore della proprietà RDP come indicato di seguito:

  • Alcune periferiche USB potrebbero avere funzioni che usano il reindirizzamento USB opaco di basso livello o il reindirizzamento di alto livello. Per impostazione predefinita, queste periferiche vengono reindirizzate utilizzando il reindirizzamento di alto livello. È possibile usare la proprietà RDP per forzare queste periferiche a usare il reindirizzamento USB opaco di basso livello. Per usare periferiche audio USB con reindirizzamento USB opaco di basso livello, è necessario impostare la posizione di output audio per la riproduzione dei suoni nel computer locale.

  • Usare i GUID di classe per reindirizzare o non reindirizzare un'intera classe di periferiche USB.

  • Usa il carattere * jolly perché il valore reindirizzerà la maggior parte delle periferiche che non hanno meccanismi di reindirizzamento o driver di alto livello installati. I GUID di classe possono essere usati per reindirizzare periferiche aggiuntive che non corrispondono automaticamente.

I valori possono essere usati singolarmente o una combinazione di questi valori può essere usata insieme se separati da un punto e virgola, in base a un ordine di elaborazione. Nella tabella seguente sono elencati i valori validi e l'ordine di elaborazione:

Ordine di elaborazione Valore Descrizione
N/D Nessun valore specificato Non reindirizzare le periferiche USB supportate usando il reindirizzamento opaco di basso livello.
1 * Reindirizzare tutte le periferiche che non usano il reindirizzamento di alto livello.
2 {<DeviceClassGUID>} Reindirizza tutte le periferiche che sono membri della classe di installazione del dispositivo specificata.
3 <USBInstanceID> Reindirizzare una periferica USB specificata dal percorso dell'istanza del dispositivo specificato.
4 <-USBInstanceID> Non reindirizzare una periferica specificata dal percorso dell'istanza del dispositivo specificato.

Se costruita come stringa nell'ordine di elaborazione corretto, la sintassi è:

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

Il percorso dell'istanza del dispositivo per i dispositivi USB è costruito in tre sezioni nel formato USB\<Device ID>\<USB instance ID>. È possibile trovare questo valore in Gestione dispositivi o usando il cmdlet Get-PnpDevice di PowerShell. Le tre sezioni in ordine sono:

  1. Nome driver bus, in questo caso USB.
  2. ID dispositivo, che contiene l'ID fornitore (VID) e l'ID prodotto (PID) della periferica USB.
  3. ID istanza, che distingue in modo univoco un dispositivo da altri dispositivi dello stesso tipo su un computer.

Quando si specificano le periferiche USB da reindirizzare tramite RDP, è possibile usare il percorso dell'istanza del dispositivo. Quando si usa il percorso dell'istanza del dispositivo, il valore è specifico della porta nel dispositivo locale a cui è connesso. Ad esempio, una periferica collegata alla prima porta USB ha il percorso USB\VID_045E&PID_0779\5&21F6DCD1&0&5dell'istanza del dispositivo , ma la stessa periferica collegata alla seconda porta USB ha il percorso USB\VID_045E&PID_0779\5&21F6DCD1&0&6dell'istanza del dispositivo . Per le periferiche USB, specificando il percorso dell'istanza del dispositivo la periferica viene reindirizzata solo se collegata alla stessa porta.

In alternativa, è possibile reindirizzare un'intera classe di installazione del dispositivo di periferiche USB usando il GUID della classe. Quando si usa il GUID della classe, tutte le periferiche nel dispositivo locale con il GUID della classe corrispondente vengono reindirizzate, indipendentemente dalla porta a cui sono connesse. Ad esempio, l'uso del GUID {4d36e96c-e325-11ce-bfc1-08002be10318} della classe reindirizza tutti i dispositivi multimediali. Un elenco di tutti i GUID della classe è disponibile in Classi di installazione dei dispositivi definiti dal sistema disponibili per i fornitori.

Per alcuni esempi di utilizzo della proprietà RDP, vedere la proprietà RDP usbdevicestoredirect.

Risorse e periferiche supportate

Nella tabella seguente sono elencate tutte le classi di periferiche o risorse supportate e il metodo di reindirizzamento consigliato da usare per ognuna:

Classe di risorse o periferiche Metodo di reindirizzamento Direzione predominante del flusso di dati
Stampante/scanner all-in-one Reindirizzamento opaco di basso livello Bidirezionale
Ingresso audio - microfono (USB o integrato) Alto livello - riflessione periferica Da locale a remoto
Uscita audio - altoparlante (USB o integrato) Alto livello - riflessione periferica Da remoto a locale
Batteria (automatica, non configurabile) Alto livello: riflessione dello stato Da locale a remoto
Lettore biometrico (solo all'interno di una sessione, non durante l'accesso) Reindirizzamento opaco di basso livello Bidirezionale
Fotocamera/webcam (USB o integrata) Alto livello - riflessione periferica Da locale a remoto
Unità CD/DVD (sola lettura) Alto livello - riflessione periferica Da locale a remoto
Appunti Alto livello: condivisione dei dati Bidirezionale
Tastiera (USB o integrata) Alto livello - riflessione periferica Da locale a remoto
Disco rigido locale o spazio di archiviazione USB rimovibile Alto livello - riflessione periferica Bidirezionale
Posizione Alto livello: riflessione dello stato Da locale a remoto
Mouse (USB o integrato) Alto livello - riflessione periferica Da locale a remoto
Lettore multimediale MTP Alto livello - riflessione periferica Da locale a remoto
Reindirizzamento multimediale Alto livello: suddivisione dell'applicazione Bidirezionale
Penna (USB o integrata) Alto livello - riflessione periferica Da locale a remoto
Stampante (collegata localmente o di rete) Alto livello - riflessione periferica Da remoto a locale
Fotocamera PTP Alto livello - riflessione periferica Da locale a remoto
Scanner Alto livello - riflessione periferica Bidirezionale
Porta seriale/COM Reindirizzamento opaco di basso livello Bidirezionale
Lettore di smart card Alto livello - riflessione periferica Bidirezionale
Touch (USB o integrato) Alto livello - riflessione periferica Da locale a remoto
Trackpad (USB o integrato, esclusi i movimenti del touchpad di precisione (PTP)) Alto livello - riflessione periferica Da locale a remoto
Adattatore da USB a seriale Reindirizzamento opaco di basso livello Bidirezionale
Telefono/auricolare VoIP Reindirizzamento opaco di basso livello Bidirezionale
WebAuthN Alto livello - riflessione periferica Bidirezionale

Nota

  • Le classi di periferiche seguenti sono bloccate dal reindirizzamento:

    • Schede di rete USB.
    • Schermi USB.
  • Il reindirizzamento della batteria è disponibile solo per Desktop virtuale Azure e Windows 365. È disponibile automaticamente e non è configurabile.

  • Il reindirizzamento dello stack di driver Bluetooth non è supportato. Se una periferica è connessa al dispositivo locale, ad esempio una tastiera Bluetooth, viene reindirizzata alla sessione remota in base alla classe di periferiche supportata.

Il diagramma seguente mostra i metodi di reindirizzamento usati per ogni classe periferica:

Diagramma che mostra come classi periferiche diverse eseguono il mapping ai metodi di reindirizzamento di alto livello e opaco di basso livello.

Ordine di priorità della configurazione

Le classi di dispositivi abilitate per il reindirizzamento e il comportamento dei reindirizzamenti sono configurate da un amministratore di una sessione remota. Il comportamento può essere configurato da Microsoft Intune o da Criteri di gruppo (Active Directory o locale) lato server oppure specificato in un .rdp file utilizzato per connettersi a una sessione remota. Desktop virtuale Azure e Servizi Desktop remoto dispongono anche di un servizio broker in cui è possibile specificare le proprietà RDP.

Tuttavia, alcune impostazioni possono essere sostituite nel dispositivo locale in cui è necessaria una configurazione più restrittiva. Un'impostazione più restrittiva ha la precedenza ovunque sia configurata; Ad esempio, se un amministratore configura gli Appunti in modo che vengano reindirizzati per impostazione predefinita per tutte le sessioni remote, ma il dispositivo locale è configurato per disabilitare il reindirizzamento degli Appunti, gli Appunti non sono disponibili nella sessione remota. Ciò offre flessibilità negli scenari in cui un sottoinsieme di utenti o dispositivi richiede impostazioni più restrittive rispetto alla configurazione predefinita.