Partilhar via


Identificar e diagnosticar problemas na Área de Trabalho Virtual do Azure (clássico)

Importante

Este conteúdo aplica-se ao Ambiente de Trabalho Virtual do Azure (clássico), que não suporta objetos do Azure Resource Manager do Ambiente de Trabalho Virtual do Azure. Se você estiver tentando gerenciar objetos da Área de Trabalho Virtual do Azure Resource Manager, consulte este artigo.

A Área de Trabalho Virtual do Azure oferece um recurso de diagnóstico que permite ao administrador identificar problemas por meio de uma única interface. As funções da Área de Trabalho Virtual do Azure registram uma atividade de diagnóstico sempre que um usuário interage com o sistema. Cada log contém informações relevantes, como as funções da Área de Trabalho Virtual do Azure envolvidas na transação, mensagens de erro, informações do locatário e informações do usuário. As atividades de diagnóstico são criadas por ações administrativas e do usuário final e podem ser categorizadas em três buckets principais:

  • Atividades de assinatura de feed: o usuário final aciona essas atividades sempre que tenta se conectar ao feed por meio de aplicativos de Área de Trabalho Remota da Microsoft.
  • Atividades de conexão: o usuário final aciona essas atividades sempre que tenta se conectar a uma área de trabalho ou RemoteApp por meio de aplicativos de Área de Trabalho Remota da Microsoft.
  • Atividades de gerenciamento: o administrador aciona essas atividades sempre que executa operações de gerenciamento no sistema, como a criação de pools de hosts, a atribuição de usuários a grupos de aplicativos e a criação de atribuições de função.

As conexões que não chegarem à Área de Trabalho Virtual do Azure não aparecerão nos resultados de diagnóstico porque o próprio serviço de função de diagnóstico faz parte da Área de Trabalho Virtual do Azure. Os problemas de conexão da Área de Trabalho Virtual do Azure podem acontecer quando o usuário final está enfrentando problemas de conectividade de rede.

Para começar, baixe e importe o módulo PowerShell da Área de Trabalho Virtual do Azure para usar em sua sessão do PowerShell, caso ainda não o tenha feito. Depois disso, execute o seguinte cmdlet para entrar na sua conta:

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"

Diagnosticar problemas com o PowerShell

O Diagnóstico da Área de Trabalho Virtual do Azure usa apenas um cmdlet do PowerShell, mas contém muitos parâmetros opcionais para ajudar a reduzir e isolar problemas. As seções a seguir listam os cmdlets que você pode executar para diagnosticar problemas. A maioria dos filtros pode ser aplicada em conjunto. Os valores listados entre parênteses, como <tenantName>, devem ser substituídos pelos valores que se aplicam à sua situação.

Importante

O recurso de diagnóstico é para solução de problemas de usuário único. Todas as consultas que usam o PowerShell devem incluir os parâmetros -UserName ou -ActivityID . Para recursos de monitoramento, use o Log Analytics. Consulte Usar o Log Analytics para o recurso de diagnóstico para obter mais informações sobre como enviar dados de diagnóstico para seu espaço de trabalho.

Filtrar atividades de diagnóstico por usuário

O parâmetro -UserName retorna uma lista de atividades de diagnóstico iniciadas pelo usuário especificado, conforme mostrado no cmdlet de exemplo a seguir.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN>

O parâmetro -UserName também pode ser combinado com outros parâmetros de filtragem opcionais.

Filtrar atividades de diagnóstico por tempo

Você pode filtrar a lista de atividades de diagnóstico retornadas com os parâmetros -StartTime e -EndTime. O parâmetro -StartTime retornará uma lista de atividades de diagnóstico a partir de uma data específica, conforme mostrado no exemplo a seguir.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018"

O parâmetro -EndTime pode ser adicionado a um cmdlet com o parâmetro -StartTime para especificar um período de tempo específico para o qual você deseja receber resultados. O cmdlet de exemplo a seguir retornará uma lista de atividades de diagnóstico entre 1º e 10 de agosto.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018" -EndTime "08/10/2018"

Os parâmetros -StartTime e -EndTime também podem ser combinados com outros parâmetros de filtragem opcionais.

Filtrar atividades de diagnóstico por tipo de atividade

Você também pode filtrar atividades de diagnóstico por tipo de atividade com o parâmetro -ActivityType . O cmdlet a seguir retornará uma lista de conexões de usuário final:

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -ActivityType Connection

O cmdlet a seguir retornará uma lista de tarefas de gerenciamento de administrador:

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management

Atualmente , o cmdlet Get-RdsDiagnosticActivities não oferece suporte à especificação de Feed como ActivityType.

Filtrar atividades de diagnóstico por resultado

Você pode filtrar a lista de atividades de diagnóstico retornadas por resultado com o parâmetro -Outcome . O cmdlet de exemplo a seguir retornará uma lista de atividades de diagnóstico bem-sucedidas.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -Outcome Success

O cmdlet de exemplo a seguir retornará uma lista de atividades de diagnóstico com falha.

Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure

O parâmetro -Outcome também pode ser combinado com outros parâmetros de filtragem opcionais.

Recuperar uma atividade de diagnóstico específica por ID de atividade

O parâmetro -ActivityId retorna uma atividade de diagnóstico específica, se ela existir, conforme mostrado no cmdlet de exemplo a seguir.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityIdGuid>

Exibir mensagens de erro para uma atividade com falha por ID de atividade

Para exibir as mensagens de erro de uma atividade com falha, você deve executar o cmdlet com o parâmetro -Detailed . Você pode exibir a lista de erros executando o cmdlet Select-Object .

Get-RdsDiagnosticActivities -TenantName <tenantname> -ActivityId <ActivityGuid> -Detailed | Select-Object -ExpandProperty Errors

Recuperar atividades de diagnóstico detalhadas

O parâmetro -Detailed fornece detalhes adicionais para cada atividade de diagnóstico retornada. O formato de cada atividade varia de acordo com o tipo de atividade. O parâmetro -Detailed pode ser adicionado a qualquer consulta Get-RdsDiagnosticActivities , conforme mostrado no exemplo a seguir.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityGuid> -Detailed

Cenários de erros comuns

Os cenários de erro são categorizados em internos ao serviço e externos à Área de Trabalho Virtual do Azure.

  • Problema interno: especifica cenários que não podem ser atenuados pelo administrador do locatário e precisam ser resolvidos como um problema de suporte. Ao fornecer comentários por meio da Comunidade Técnica de Área de Trabalho Virtual do Azure, inclua a ID da atividade e o período de tempo aproximado de quando o problema ocorreu.
  • Problema externo: relaciona-se com cenários que podem ser atenuados pelo administrador do sistema. Eles são externos à Área de Trabalho Virtual do Azure.

A tabela a seguir lista erros comuns que seus administradores podem encontrar.

Nota

Esta lista inclui os erros mais comuns e é atualizada em uma cadência regular. Para garantir que você tenha as informações mais atualizadas, não deixe de conferir este artigo pelo menos uma vez por mês.

Códigos de erro de gerenciamento externo

Código numérico Código de erro Solução sugerida
1322 ConnectionFailedNoMappingOfSIDinAD O usuário não é membro do Microsoft Entra ID. Siga as instruções na Central Administrativa do Ative Directory para adicioná-los.
3 Acesso não autorizado O usuário que tentou executar o cmdlet administrativo do PowerShell não tem permissões para fazê-lo ou digitou incorretamente seu nome de usuário.
1000 InquilinoNotFound O nome do locatário inserido não corresponde a nenhum locatário existente. Revise o nome do locatário para verificar se há erros de digitação e tente novamente.
1006 TenantCannotBeRemovedHasSessionHostPools Não é possível excluir um locatário desde que ele contenha objetos. Exclua os pools de hosts de sessão primeiro e tente novamente.
2000 HostPoolNotFound O nome do pool de hosts inserido não corresponde a nenhum pool de hosts existente. Revise o nome do pool de hosts para verificar se há erros de digitação e tente novamente.
2005 HostPoolCannotBeRemovedHasApplicationGroups Não é possível excluir um pool de hosts desde que ele contenha objetos. Remova todos os grupos de aplicativos no pool de hosts primeiro.
2004 HostPoolCannotBeRemovedHasSessionHosts Remova todos os hosts de sessões primeiro antes de excluir o pool de hosts de sessão.
5001 SessionHostNotFound O host de sessão que você consultou pode estar offline. Verifique o estado do grupo de anfitriões.
5008 SessionHostUserSessionsExist Você deve sair de todos os usuários no host da sessão antes de executar a atividade de gerenciamento pretendida.
6.000 AppGroupNotFound O nome do grupo de aplicativos inserido não corresponde a nenhum grupo de aplicativos existente. Revise o nome do grupo de aplicativos para verificar se há erros de digitação e tente novamente.
6022 RemoteAppNotFound O nome do RemoteApp que você inseriu não corresponde a nenhum aplicativo. Revise o nome do RemoteApp para verificar se há erros de digitação e tente novamente.
6010 PublishedItemsExist O nome do recurso que você está tentando publicar é o mesmo que um recurso que já existe. Altere o nome do recurso e tente novamente.
7002 NomeNotValidWhiteSpace Não use espaço em branco no nome.
8000 InvalidAuthorizationRoleScope O nome da função que você inseriu não corresponde a nenhum nome de função existente. Revise o nome da função para verificar se há erros de digitação e tente novamente.
8001 UserNotFound O nome de utilizador introduzido não corresponde a nenhum nome de utilizador existente. Revise o nome para verificar se há erros de digitação e tente novamente.
8005 UserNotFoundInAAD O nome de utilizador introduzido não corresponde a nenhum nome de utilizador existente. Revise o nome para verificar se há erros de digitação e tente novamente.
8008 TenantConsentRequired Siga as instruções aqui para dar o seu consentimento ao seu inquilino.

Códigos de erro de conexão externa

Código numérico Código de erro Solução sugerida
-2147467259 ConnectionFailedAdErrorNoSuchMember O usuário não é membro do Ative Directory. Siga as instruções na Central Administrativa do Ative Directory para adicioná-los.
-2147467259 ConnectionFailedAdTrustedRelationshipFailure O host da sessão não está corretamente associado ao Ative Directory.
-2146233088 ConnectionFailedUserHasValidSessionButRdshIsUnhealthy As conexões falharam porque o host da sessão não está disponível. Verifique a saúde do anfitrião da sessão.
-2146233088 ConnectionFailedClientDisconnect Se vir este erro com frequência, certifique-se de que o computador do utilizador está ligado à rede.
-2146233088 ConnectionFailedNoHealthyRdshAvailable A sessão à qual o usuário host tentou se conectar não está íntegra. Depurar a máquina virtual.
-2146233088 ConnectionFailedUserNotAuthorized O usuário não tem permissão para acessar o aplicativo ou área de trabalho publicados. O erro pode aparecer depois que o administrador removeu os recursos publicados. Peça ao usuário para atualizar o feed no aplicativo Área de Trabalho Remota.
2 FileNotFound O aplicativo que o usuário tentou acessar está instalado incorretamente ou definido como um caminho incorreto.
3 InvalidCredentials O nome de utilizador ou palavra-passe que o utilizador introduziu não corresponde a quaisquer nomes de utilizador ou palavras-passe existentes. Revise as credenciais para verificar se há erros de digitação e tente novamente.
8 ConexãoQuebrada A conexão entre Cliente e Gateway ou Servidor caiu. Nenhuma ação necessária, a menos que aconteça inesperadamente.
14 UnexpectedNetworkDisconnect A conexão com a rede caiu. Peça ao usuário para se conectar novamente.
24 ReverseConnectFailed A máquina virtual host não tem linha de visão direta para o Gateway de Área de Trabalho Remota. Verifique se o endereço IP do gateway pode ser resolvido.
1322 ConnectionFailedNoMappingOfSIDinAD O usuário não é membro do Ative Directory. Siga as instruções na Central Administrativa do Ative Directory para adicioná-los.

Próximos passos

Para saber mais sobre funções na Área de Trabalho Virtual do Azure, consulte Ambiente de Área de Trabalho Virtual do Azure.

Para ver uma lista de cmdlets do PowerShell disponíveis para a Área de Trabalho Virtual do Azure, consulte a referência do PowerShell.