Redirecionamento de recursos e periféricos pelo Protocolo RDP

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 seu 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 encontrar o equilíbrio entre seus requisitos de segurança e as necessidades de seus usuários.

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

Métodos e classificações de redirecionamento

O RDP aproveita 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 de periféricos ou experiência específica. O redirecionamento de alto nível garante o melhor desempenho possível para cenários remotos, mas também depende do suporte ao driver periférico e ao aplicativo.

  • Redirecionamento opaco de baixo nível: transporta a comunicação bruta de um periférico sem qualquer tentativa de interpretá-lo, entender, limitar ou otimizar para cenários remotos.

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

No redirecionamento de alto nível, há 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 de periféricos: 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, touch, 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 seu status da bateria e sua localização.

  • 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 do periférico, como Windows, macOS, iOS/iPadOS ou Android, e seus recursos, periféricos e recursos 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 Aplicativo do Windows em diferentes plataformas, consulte Comparar recursos do Aplicativo do Windows 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 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 de USB criptografado.

Comparação de redirecionamento de USB

A tabela a seguir compara o redirecionamento de um periférico USB usando o redirecionamento de USB opaco de baixo nível para redirecionar o periférico usando o redirecionamento de alto nível com uma classe de periférico com suporte no RDP:

Redirecionamento de USB opaco de baixo nível Redirecionamento de alto nível
Requer que o driver do periférico USB seja 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 de periférico. Usa um método de redirecionamento específico para cada classe de periférico.
Encaminha blocos de solicitações 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 ele está sendo usado em uma sessão remota. Ele só pode ser usado em uma sessão remota de cada 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 dependendo da implementação do driver periférico. Otimizado para conexões LAN e WAN e sensível às alterações nas condições, como largura de banda e latência.

Controlando o redirecionamento de USB opaco de baixo nível

O redirecionamento de periféricos USB usando o redirecionamento de USB opaco de baixo nível é controlado pela propriedade RDP usbdevicestoredirect:s:<value>, onde <valor> é 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 o redirecionamento de USB opaco de baixo nível ou o 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 o redirecionamento de USB opaco de baixo nível. Para usar periféricos de áudio USB com redirecionamento de USB opaco de baixo nível, o local da 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 curinga *, pois o valor redirecionará a maioria dos periféricos que não têm mecanismos de redirecionamento de alto nível ou drivers instalados. GUIDs de classe podem ser usados para redirecionar periféricos adicionais que não são correspondidos automaticamente.

Os valores podem ser usados por conta própria ou uma combinação desses valores pode ser usada em conjunto entre si 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:

Ordem de processamento Valor Descrição
N/D Nenhum valor especificado Não redirecionar nenhum periférico USB com suporte usando o redirecionamento opaco de baixo nível.
1 * Redirecionar todos os periféricos que não estão usando o redirecionamento de alto nível.
2 {<DeviceClassGUID>} Redirecionar todos os periféricos que são membros da classe de configuração do dispositivo especificado.
3 <USBInstanceID> Redirecionar um periférico USB especificado pelo caminho da instância do dispositivo fornecido.
4 <-USBInstanceID> Não redirecionar um periférico especificado pelo caminho da instância do dispositivo fornecido.

Quando criada 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 é construído 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 do PowerShell Get-PnpDevice. As três seções em ordem são:

  1. Nome do driver de barramento, nesse caso, USB.
  2. Identificação do dispositivo, que contém a ID do Fornecedor (VID) e a ID do Produto((product ID) (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 para a porta no dispositivo local ao qual ele está conectado. Por exemplo, um periférico conectado à primeira porta USB tem o caminho USB\VID_045E&PID_0779\5&21F6DCD1&0&5 da 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 de configuração de dispositivo inteira de periféricos USB usando o GUID de classe. 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, usar o GUID de classe {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 instalação de dispositivo definidas pelo sistema disponíveis para fornecedores.

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

Recursos e periféricos com suporte

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

Classe de recurso ou periférico Método de redirecionamento Direção de fluxo de dados predominante
Impressora/scanner tudo em um Redirecionamento opaco de baixo nível Bidirecional
Entrada de áudio – microfone (USB ou integrado) Alto nível – reflexão de periférico Local para remoto
Saída de áudio – alto-falante (USB ou integrado) Alto nível – reflexão de periférico 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 de periférico Local para remoto
Unidade de CD/DVD (somente leitura) Alto nível – reflexão de periférico Local para remoto
Área de transferência Alto nível – compartilhamento de dados Bidirecional
Teclado (USB ou integrado) Alto nível – reflexão de periférico Local para remoto
Disco rígido local ou armazenamento removível de USB Alto nível – reflexão de periférico Bidirecional
Localidade Alto nível – reflexão de estado Local para remoto
Mouse (USB ou integrado) Alto nível – reflexão de periférico Local para remoto
Player de Mídia MTP Alto nível – reflexão de periférico Local para remoto
Redirecionamento de multimídia Alto nível – divisão de aplicativos Bidirecional
Caneta (USB ou integrada) Alto nível – reflexão de periférico Local para remoto
Impressora (anexada localmente ou de rede) Alto nível – reflexão de periférico Remoto para local
Câmera PTP Alto nível – reflexão de periférico Local para remoto
Scanner Redirecionamento opaco de baixo nível Bidirecional
Porta serial/COM Redirecionamento opaco de baixo nível Bidirecional
Leitor de cartão inteligente Alto nível – reflexão de periférico Bidirecional
Touch (USB ou integrado) Alto nível – reflexão de periférico Local para remoto
Trackpad (USB ou integrado, excluindo gestos de teclado touch de precisão (PTP) Alto nível – reflexão de periférico Local para remoto
Adaptador de USB para serial Redirecionamento opaco de baixo nível Bidirecional
Telefone/Headset VoIP Redirecionamento opaco de baixo nível Bidirecional
WebAuthN Alto nível – reflexão de periférico Bidirecional

Observação

  • As seguintes classes de periféricos são bloqueadas do redirecionamento:

    • Adaptadores de rede USB.
    • Telas 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. Ele está disponível automaticamente e não é configurável.

  • Não há suporte para redirecionamento da pilha de 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 periférica com suporte.

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

Um diagrama mostrando como diferentes classes de periféricos 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 habilitadas para redirecionamento e como os redirecionamentos se comportam são configurados 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 arquivo .rdp 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 no qual uma configuração mais restritiva é necessária. Uma configuração mais restritiva tem precedência onde quer que esteja configurada; por exemplo, se um administrador configurar a área de transferência a 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 proporciona flexibilidade em cenários em que um subconjunto de usuários ou dispositivos exige configurações mais restritivas do que a configuração padrão.