Redirecionamento de periféricos e recursos pelo Protocolo de Área de Trabalho Remota

O redirecionamento permite que os usuários compartilhem recursos e periféricos, como área de transferência, webcams, dispositivos USB, impressoras e muito mais, entre o dispositivo local (lado do cliente) e uma sessão remota (lado do servidor) pelo protocolo RDP. O redirecionamento visa fornecer uma experiência remota perfeita, comparável à experiência usando seu dispositivo local. Essa experiência ajuda os usuários a serem mais produtivos e eficientes ao trabalhar remotamente. Como administrador, você pode configurar o redirecionamento para ajudar a equilibrar seus requisitos de segurança e as necessidades dos usuários.

Este artigo fornece informações detalhadas sobre métodos de redirecionamento em diferentes classes periféricas, classificações de redirecionamento e os tipos suportados de recursos e periféricos que você pode redirecionar.

Métodos e classificações de redirecionamento

O RDP utiliza dois métodos de redirecionamento para redirecionar recursos e periféricos entre o dispositivo local e uma sessão remota:

  • Redirecionamento de alto nível: funciona como um intermediário inteligente, interceptando e otimizando toda a comunicação para uma classe específica de periféricos ou experiências. O redirecionamento de alto nível garante o melhor desempenho possível para cenários remotos, mas também depende do suporte a aplicativos e drivers periféricos.

  • Redirecionamento opaco de baixo nível: transporta a comunicação bruta de um periférico sem qualquer tentativa de interpretá-la, entendê-la, limitá-la ou otimizá-la para cenários remotos.

    O redirecionamento opaco de baixo nível é usado para periféricos que se conectam via USB nos quais não existe uma solução adequada de redirecionamento de reflexão periférica de alto nível e para periféricos que possuem requisitos específicos de driver ou software na sessão remota para funcionar corretamente. O redirecionamento de USB acontece no nível da porta e do protocolo usando URB (blocos de solicitação USB ). O redirecionamento opaco de baixo nível também é usado para periféricos que se conectam por meio de portas seriais/COM.

Dentro do redirecionamento de alto nível, existem quatro técnicas abrangentes que são usadas, que são classificadas com base na direção do redirecionamento e no tipo de recurso ou periférico que está sendo redirecionado. As quatro classificações de redirecionamento de alto nível são:

  • Reflexão periférica: reflete uma classe específica de periférico conectado ao dispositivo local em uma sessão remota. Essa classificação inclui dispositivos de entrada, como teclado, mouse, toque, caneta e trackpad.

  • Compartilhamento de dados: compartilha e transfere dados entre o dispositivo local e uma sessão remota para a área de transferência.

  • Reflexão de estado: reflete o estado do dispositivo local em uma sessão remota, como o status e a localização da bateria.

  • Divisão de aplicativos: divide a funcionalidade de um aplicativo entre o dispositivo local e uma sessão remota, como o Microsoft Teams.

O método de redirecionamento usado pode variar de acordo com a classe periférica, como Windows, macOS, iOS/iPadOS ou Android, e seus recursos, periféricos e funcionalidades disponíveis. O redirecionamento disponível em uma sessão remota também depende do aplicativo usado. Para obter uma comparação do suporte para redirecionamento usando o Windows App em diferentes plataformas, consulte Comparar recursos do Windows App entre plataformas e dispositivos.

Importante

Você deve usar o redirecionamento de alto nível sempre que possível, pois ele fornece o melhor desempenho e a melhor experiência do usuário. O redirecionamento opaco de baixo nível é efetivamente um cenário de fallback, portanto, o desempenho, a confiabilidade e o conjunto de recursos com suporte desses periféricos não são garantidos por padrão.

Alguns periféricos não podem ser redirecionados, como o armazenamento USB criptografado.

Comparação de redirecionamento USB

A tabela a seguir compara o redirecionamento de um periférico USB usando o redirecionamento USB opaco de baixo nível com o redirecionamento do periférico usando redirecionamento de alto nível com uma classe de periférico compatível por RDP:

Redirecionamento USB opaco de baixo nível Redirecionamento de alto nível
Requer o driver para o periférico USB a ser instalado na sessão remota. Não exige que o driver seja instalado no dispositivo local. Requer que o driver do periférico seja instalado no dispositivo local. Na maioria dos casos, ele não exige que o driver seja instalado na sessão remota.
Usa um único método de redirecionamento para muitas classes periféricas. Usa um método de redirecionamento específico para cada classe periférica.
Encaminha blocos de solicitação USB de e para o periférico USB pela conexão RDP. Expõe a funcionalidade periférica de alto nível em uma sessão remota usando um protocolo otimizado para a classe periférica.
O periférico USB não pode ser usado no dispositivo local enquanto estiver sendo usado em uma sessão remota. Ele só pode ser usado em uma sessão remota por vez. O periférico pode ser usado simultaneamente no dispositivo local e em uma sessão remota.
Otimizado para conexões de baixa latência. Variável com base na implementação do driver periférico. Otimizado para conexões LAN e WAN e está ciente de mudanças nas condições, como largura de banda e latência.

Controlando o redirecionamento USB opaco de baixo nível

O redirecionamento de periféricos USB usando o redirecionamento USB opaco de baixo nível é controlado pela propriedade usbdevicestoredirect:s:<value>RDP, em que <value> é o caminho da instância do dispositivo no formato.USB\<Vendor ID and Product ID>\<USB instance ID>

Para alguns produtos e serviços, como a Área de Trabalho Virtual do Azure, você pode controlar o comportamento de redirecionamento definindo o valor da propriedade RDP da seguinte maneira:

  • Alguns periféricos USB podem ter funções que usam redirecionamento USB de baixo nível opaco ou redirecionamento de alto nível. Por padrão, esses periféricos são redirecionados usando o redirecionamento de alto nível. Você pode usar a propriedade RDP para forçar esses periféricos a usar redirecionamento USB opaco de baixo nível. Para usar periféricos de áudio USB com redirecionamento USB opaco de baixo nível, o local de saída de áudio deve ser definido para reproduzir sons no computador local.

  • Use GUIDs de classe para redirecionar ou não redirecionar uma classe inteira de periféricos USB.

  • Use o caractere curinga * , pois o valor redirecionará a maioria dos periféricos que não têm mecanismos ou drivers de redirecionamento de alto nível instalados. Os GUIDs de classe podem ser usados para redirecionar periféricos adicionais que não são correspondidos automaticamente.

Os valores podem ser usados sozinhos ou uma combinação desses valores pode ser usada em conjunto quando separados por um ponto e vírgula, sujeitos a uma ordem de processamento. A tabela a seguir lista os valores válidos e a ordem de processamento:

Processando pedido Valor Descrição
N/D Nenhum valor especificado Não redirecione periféricos USB compatíveis usando redirecionamento opaco de baixo nível.
1 * Redirecione todos os periféricos que não estejam usando o redirecionamento de alto nível.
2 {<DeviceClassGUID>} Redirecione todos os periféricos que são membros da classe de configuração de dispositivo especificada.
3 <USBInstanceID> Redirecione um periférico USB especificado pelo caminho da instância do dispositivo fornecido.
4 <-USBInstanceID> Não redirecione um periférico especificado pelo caminho de instância do dispositivo fornecido.

Quando construída como uma cadeia de caracteres na ordem de processamento correta, a sintaxe é:

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

O caminho da instância do dispositivo para dispositivos USB é criado em três seções no formato USB\<Device ID>\<USB instance ID>. Você pode encontrar esse valor no Gerenciador de Dispositivos ou usando o cmdlet Get-PnpDevice do PowerShell. As três seções em ordem são:

  1. Nome do driver de barramento, neste caso USB.
  2. ID do dispositivo, que contém a ID do fornecedor (VID) e a ID do produto (PID) do periférico USB.
  3. ID da instância, que distingue exclusivamente um dispositivo de outros dispositivos do mesmo tipo em um computador.

Ao especificar periféricos USB para redirecionar por RDP, você pode usar o caminho da instância do dispositivo. Ao usar o caminho da instância do dispositivo, o valor é específico da porta no dispositivo local ao qual ele está conectado. Por example, um periférico conectado à primeira porta USB tem o caminho USB\VID_045E&PID_0779\5&21F6DCD1&0&5da instância do dispositivo , mas conectar o mesmo periférico à segunda porta USB tem o caminho USB\VID_045E&PID_0779\5&21F6DCD1&0&6da instância do dispositivo . Para periféricos USB, especificar o caminho da instância do dispositivo significa que o periférico só é redirecionado quando conectado à mesma porta.

Como alternativa, você pode redirecionar uma classe inteira de instalação de dispositivo de periféricos USB usando a classe GUID. Ao usar o GUID de classe, todos os periféricos no dispositivo local que têm o GUID de classe correspondente são redirecionados, independentemente da porta à qual estão conectados. Por exemplo, o uso da classe GUID {4d36e96c-e325-11ce-bfc1-08002be10318} redireciona todos os dispositivos multimídia. Uma lista de todos os GUIDs de classe está disponível em Classes de Configuração de Dispositivo Definido pelo Sistema Disponível para Fornecedores.

Para obter alguns exemplos de como usar a propriedade RDP, consulte a propriedade RDP usbdevicestoredirect.

Recursos e periféricos suportados

A tabela a seguir lista cada recurso com suporte ou classe periférica e o método de redirecionamento recomendado a ser usado para cada um:

Classe de recurso ou periférica Método de redirecionamento Direção predominante do fluxo de dados
Impressora/scanner tudo-em-um Redirecionamento opaco de baixo nível Bidirecional
Entrada de áudio - microfone (USB ou integrado) Alto nível - reflexão periférica Local para remoto
Saída de áudio - alto-falante (USB ou integrado) Alto nível - reflexão periférica Remoto para local
Bateria (automática, não configurável) Alto nível - reflexão de estado Local para remoto
Leitor biométrico (somente dentro de uma sessão, não durante o logon) Redirecionamento opaco de baixo nível Bidirecional
Câmera/webcam (USB ou integrada) Alto nível - reflexão periférica Local para remoto
Unidade de CD/DVD (somente leitura) Alto nível - reflexão periférica Local para remoto
Área de transferência Alto nível - compartilhamento de dados Bidirecional
Teclado (USB ou integrado) Alto nível - reflexão periférica Local para remoto
Disco rígido local ou armazenamento USB removível Alto nível - reflexão periférica Bidirecional
Local Alto nível - reflexão de estado Local para remoto
Mouse (USB ou integrado) Alto nível - reflexão periférica Local para remoto
MTP Media Player Alto nível - reflexão periférica Local para remoto
Redirecionamento de multimídia Alto nível - divisão de aplicativos Bidirecional
Caneta (USB ou integrada) Alto nível - reflexão periférica Local para remoto
Impressora (conectada localmente ou rede) Alto nível - reflexão periférica Remoto para local
Câmera PTP Alto nível - reflexão periférica Local para remoto
Scanner Redirecionamento opaco de baixo nível Bidirecional
Porta serial/COM Redirecionamento opaco de baixo nível Bidirecional
Leitor de card inteligente Alto nível - reflexão periférica Bidirecional
Toque (USB ou integrado) Alto nível - reflexão periférica Local para remoto
Trackpad (USB ou integrado, excluindo gestos de PTP (touchpad de precisão)) Alto nível - reflexão periférica Local para remoto
Adaptador USB para serial Redirecionamento opaco de baixo nível Bidirecional
VoIP Telefone/Fone de ouvido Redirecionamento opaco de baixo nível Bidirecional
WebAuthN Alto nível - reflexão periférica Bidirecional

Observação

  • As seguintes classes periféricas estão bloqueadas do redirecionamento:

    • Adaptadores de rede USB.
    • Monitores USB.
  • O redirecionamento do scanner não inclui suporte TWAIN.

  • O redirecionamento de bateria só está disponível para a Área de Trabalho Virtual do Azure e o Windows 365. Ela está disponível automaticamente e não é configurável.

  • Não há suporte para o redirecionamento da pilha do driver Bluetooth. Se um periférico estiver conectado ao dispositivo local, como um teclado Bluetooth, ele será redirecionado para a sessão remota com base na classe de periférico com suporte.

O diagrama a seguir mostra os métodos de redirecionamento usados para cada classe periférica:

Um diagrama mostrando como diferentes classes periféricas são mapeadas para os métodos de redirecionamento de alto nível e opacos de baixo nível.

Ordem de prioridade de configuração

Quais classes de dispositivo estão ativadas para redirecionamento e como os redirecionamentos se comportam são configuradas por um administrador de uma sessão remota. O comportamento pode ser configurado pelo lado do servidor do Microsoft Intune ou da Política de Grupo (Active Directory ou local) ou especificado em um .rdp arquivo usado para se conectar a uma sessão remota. A Área de Trabalho Virtual do Azure e os Serviços de Área de Trabalho Remota também têm um serviço de agente em que as propriedades RDP podem ser especificadas.

No entanto, determinadas configurações podem ser substituídas no dispositivo local onde uma configuração mais restritiva é necessária. Uma configuração mais restritiva tem precedência onde quer que seja configurada; Por exemplo, se um administrador configurar a área de transferência para ser redirecionada por padrão para todas as sessões remotas, mas o dispositivo local estiver configurado para desabilitar o redirecionamento da área de transferência, a área de transferência não estará disponível na sessão remota. Isso fornece flexibilidade em cenários em que um subconjunto de usuários ou dispositivos requer configurações mais restritivas do que a configuração padrão.