Partilhar via


Redirecionamento de periféricos e recursos através do Protocolo de Ambiente de Trabalho Remoto

O redirecionamento permite que os utilizadores partilhem recursos e periféricos, como a área de transferência, câmaras Web, dispositivos USB, impressoras e muito mais, entre o dispositivo local (do lado do cliente) e uma sessão remota (do lado do servidor) através do Protocolo RDP ( Remote Desktop Protocol ). O redirecionamento tem como objetivo proporcionar uma experiência remota totalmente integrada, comparável à experiência de utilização do respetivo dispositivo local. Esta experiência ajuda os utilizadores a serem mais produtivos e eficientes ao trabalhar remotamente. Enquanto administrador, pode configurar o redirecionamento para ajudar a equilibrar os seus requisitos de segurança e as necessidades dos seus utilizadores.

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

Métodos e classificações de redirecionamento

O RDP tira partido de 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 ao intercetar e otimizar toda a comunicação para uma classe específica de periféricos ou experiência. O redirecionamento de alto nível garante o melhor desempenho possível para cenários remotos, mas também depende do suporte de controladores periféricos e de aplicações.

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

    O redirecionamento opaco de baixo nível é utilizado para periféricos que se ligam através de USB onde não existe uma solução adequada de redirecionamento de reflexos periféricos de alto nível e para periféricos que têm requisitos específicos de controlador ou software na sessão remota funcionarem corretamente. O redirecionamento USB ocorre ao nível da porta e do protocolo através de blocos de pedido USB (URB). O redirecionamento opaco de baixo nível também é utilizado para periféricos que se ligam através de portas série/COM.

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

  • Reflexo de periférico: reflete uma classe específica de periférico ligado ao dispositivo local numa sessão remota. Esta classificação inclui dispositivos de entrada, como teclado, rato, toque, caneta e trackpad.

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

  • Reflexo do estado: reflete o estado do dispositivo local numa sessão remota, como a status e a localização da bateria.

  • Divisão de aplicações: divide a funcionalidade de uma aplicação no dispositivo local e numa sessão remota, como o Microsoft Teams.

O método de redirecionamento utilizado pode variar consoante a classe periférica, como Windows, macOS, iOS/iPadOS ou Android, e os respetivos recursos, periféricos e capacidades disponíveis. O redirecionamento disponível numa sessão remota também depende da aplicação utilizada. Para obter uma comparação do suporte para redirecionamento com Windows App em diferentes plataformas, veja Comparar funcionalidades de Windows App entre plataformas e dispositivos.

Importante

Deve utilizar o redirecionamento de alto nível sempre que possível, uma vez que proporciona o melhor desempenho e experiência de utilizador. O redirecionamento opaco de baixo nível é efetivamente um cenário de contingência, pelo que o desempenho, a fiabilidade e o conjunto de funcionalidades suportados desses periféricos não são garantidos por predefinição.

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

Comparação de redirecionamento USB

A tabela seguinte compara o redirecionamento de um periférico USB com o redirecionamento USB opaco de baixo nível para redirecionar o periférico através de redirecionamento de alto nível com uma classe periférica suportada através de RDP:

Redirecionamento USB opaco de baixo nível Redirecionamento de alto nível
Requer que o controlador do periférico USB seja instalado na sessão remota. Não requer que o controlador seja instalado no dispositivo local. Requer que o controlador do periférico seja instalado no dispositivo local. Na maioria dos casos, não requer que o controlador seja instalado na sessão remota.
Utiliza um único método de redirecionamento para muitas classes de periféricos. Utiliza um método de redirecionamento específico para cada classe de periféricos.
Reencaminha blocos de pedidos USB de e para o periférico USB através da ligação RDP. Expõe a funcionalidade periférica de alto nível numa sessão remota através de um protocolo otimizado para a classe periférica.
O periférico USB não pode ser utilizado no dispositivo local enquanto está a ser utilizado numa sessão remota. Só pode ser utilizado numa sessão remota de cada vez. O periférico pode ser utilizado em simultâneo no dispositivo local e numa sessão remota.
Otimizado para ligações de baixa latência. Variável baseada na implementação do controlador periférico. Otimizado para ligações LAN e WAN e está ciente das alterações nas condições, como a largura de banda e a latência.

Controlar o redirecionamento USB opaco de baixo nível

O redirecionamento de periféricos USB utilizando o redirecionamento USB opaco de baixo nível é controlado pela propriedadeusbdevicestoredirect:s:<value> RDP, em <que o 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 o Azure Virtual Desktop, pode controlar o comportamento de redirecionamento ao definir o valor da propriedade RDP da seguinte forma:

  • Alguns periféricos USB podem ter funções que utilizam redirecionamento USB opaco de baixo nível ou redirecionamento de alto nível. Por predefinição, estes periféricos são redirecionados através do redirecionamento de alto nível. Pode utilizar a propriedade RDP para forçar estes periféricos a utilizar o redirecionamento USB opaco de baixo nível. Para utilizar periféricos de áudio USB com redirecionamento USB opaco de baixo nível, a localização de saída de áudio tem de ser definida para reproduzir sons no computador local.

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

  • Utilize o caráter universal * , uma vez que o valor irá redirecionar a maioria dos periféricos que não têm mecanismos de redirecionamento de alto nível ou controladores instalados. Os GUIDs de classe podem ser utilizados para redirecionar periféricos adicionais que não são correspondidos automaticamente.

Os valores podem ser utilizados por si próprios ou uma combinação destes valores pode ser utilizada em conjunto uns com os outros quando separados por ponto e vírgula, sujeitos a uma ordem de processamento. A tabela seguinte lista os valores válidos e a ordem de processamento:

A processar a encomenda Valor Descrição
N/D Nenhum valor especificado Não redirecione quaisquer periféricos USB suportados utilizando o redirecionamento opaco de baixo nível.
1 * Redirecione todos os periféricos que não estão a utilizar o redirecionamento de alto nível.
2 {<DeviceClassGUID>} Redirecione todos os periféricos que são membros da classe de configuração do dispositivo especificada.
3 <USBInstanceID> Redirecione um periférico USB especificado pelo caminho da instância do dispositivo especificado.
4 <-USBInstanceID> Não redirecione um periférico especificado pelo caminho da instância do dispositivo especificado.

Quando construída como uma cadeia pela 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 secções no formato USB\<Device ID>\<USB instance ID>. Pode encontrar este valor no Gerenciador de Dispositivos ou através do cmdlet Do PowerShell Get-PnpDevice. As três secções por ordem são:

  1. Nome do controlador de barramento, neste caso , USB.
  2. ID do Dispositivo, que contém o ID do Fornecedor (VID) e o ID do Produto (PID) do periférico USB.
  3. ID de instância, que distingue exclusivamente um dispositivo de outros dispositivos do mesmo tipo num computador.

Ao especificar periféricos USB para redirecionar através de RDP, pode utilizar o caminho da instância do dispositivo. Ao utilizar o caminho da instância do dispositivo, o valor é específico da porta no dispositivo local ao qual está ligado. Por exemplo, um periférico ligado à primeira porta USB tem o caminho USB\VID_045E&PID_0779\5&21F6DCD1&0&5da instância do dispositivo, mas ligar 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 ligado à mesma porta.

Em alternativa, pode redirecionar toda uma classe de configuração de dispositivos de periféricos USB com o GUID de classe. Ao utilizar o GUID de classe, todos os periféricos no dispositivo local que tenham o GUID de classe correspondente são redirecionados, independentemente da porta à qual estão ligados. Por exemplo, a utilização da classe GUID {4d36e96c-e325-11ce-bfc1-08002be10318} redireciona todos os dispositivos multimédia. Está disponível uma lista de todos os GUIDs de classe em Classes de Configuração de Dispositivos Definidas pelo Sistema Disponíveis para Fornecedores.

Para obter alguns exemplos de como utilizar a propriedade RDP, veja a propriedade RDP usbdevicestoredirect.

Recursos e periféricos suportados

A tabela seguinte lista cada recurso ou classe periférica suportada e o método de redirecionamento recomendado a utilizar para cada um:

Classe de recurso ou periférico Método de redirecionamento Direção do 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 - reflexo periférico Local para remoto
Saída de áudio - altifalante (USB ou integrado) Alto nível - reflexo periférico Remoto para local
Bateria (automática, não configurável) Alto nível - reflexo de estado Local para remoto
Leitor biométrico (apenas numa sessão, não durante o início de sessão) Redirecionamento opaco de baixo nível Bidirecional
Câmara/câmara Web (USB ou integrado) Alto nível - reflexo periférico Local para remoto
Unidade de CD/DVD (só de leitura) Alto nível - reflexo periférico Local para remoto
Área de transferência Alto nível - partilha de dados Bidirecional
Teclado (USB ou integrado) Alto nível - reflexo periférico Local para remoto
Disco rígido local ou armazenamento amovível USB Alto nível - reflexo periférico Bidirecional
Local Alto nível - reflexo de estado Local para remoto
Rato (USB ou integrado) Alto nível - reflexo periférico Local para remoto
Leitor de Multimédia MTP Alto nível - reflexo periférico Local para remoto
Redirecionamento de multimédia Alto nível – divisão de aplicações Bidirecional
Caneta (USB ou integrada) Alto nível - reflexo periférico Local para remoto
Impressora (ligada localmente ou rede) Alto nível - reflexo periférico Remoto para local
Câmara PTP Alto nível - reflexo 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 card inteligente Alto nível - reflexo periférico Bidirecional
Toque (USB ou integrado) Alto nível - reflexo periférico Local para remoto
Trackpad (USB ou integrado, excluindo gestos de teclado tátil de precisão (PTP) Alto nível - reflexo periférico Local para remoto
Adaptador USB para série Redirecionamento opaco de baixo nível Bidirecional
Telefone/Headset VoIP Redirecionamento opaco de baixo nível Bidirecional
WebAuthN Alto nível - reflexo periférico Bidirecional

Observação

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

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

  • O redirecionamento de bateria só está disponível para o Azure Virtual Desktop e Windows 365. Está disponível automaticamente e não configurável.

  • O redirecionamento da pilha de controladores bluetooth não é suportado. Se um periférico estiver ligado ao dispositivo local, como um teclado bluetooth, é redirecionado para a sessão remota com base na classe periférica suportada.

O diagrama seguinte mostra os métodos de redirecionamento utilizados para cada classe de periféricos:

Um diagrama que mostra como diferentes classes periféricas mapeiam para os métodos de redirecionamento de alto nível e opaco de baixo nível.

Ordem de prioridade de configuração

As classes de dispositivos que 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 por Microsoft Intune ou Política de Grupo (Active Directory ou local) do lado do servidor ou especificado num .rdp ficheiro que é utilizado para ligar a uma sessão remota. O Azure Virtual Desktop e os Serviços de Ambiente de Trabalho Remoto também têm um serviço de mediador onde as propriedades RDP podem ser especificadas.

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