Identificar e diagnosticar problemas na Área de Trabalho Virtual do Azure (clássico)
Importante
Esse conteúdo se aplica à Área de Trabalho Virtual do Azure (clássica), que não dá suporte a objetos da Área de Trabalho Virtual do Azure Resource Manager. Se você estiver tentando gerenciar objetos do Azure Virtual Desktop no 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 de usuário final e podem ser categorizadas em três buckets principais:
- Atividades de assinatura do Feed: o usuário final dispara essas atividades sempre que tenta se conectar ao feed por meio de aplicativos da Área de Trabalho Remota da Microsoft.
- Atividades de conexão: o usuário final dispara essas atividades sempre que tenta se conectar a uma área de trabalho ou RemoteApp por meio de aplicativos da Área de Trabalho Remota da Microsoft.
- Atividades de gerenciamento: o administrador dispara essas atividades sempre que executa operações de gerenciamento no sistema, como criar pools de host, atribuir usuários a grupos de aplicativos e criar atribuições de função.
As conexões que não chegam à Área de Trabalho Virtual do Azure não aparecerão nos resultados do diagnóstico porque o próprio serviço de função de diagnóstico faz parte da Área de Trabalho Virtual do Azure. 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, faça o download e importe o módulo do PowerShell da Área de Trabalho Virtual do Azure para usar na sua sessão do PowerShell, caso ainda não tenha feito isso. Depois disso, execute o seguinte cmdlet para entrar em sua conta:
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Diagnosticar problemas com o PowerShell
O Diagnóstico de Área de Trabalho Virtual do Azure usa apenas um cmdlet do PowerShell, mas contém muitos parâmetros opcionais para ajudar a restringir 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 colchetes, 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 workspace.
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
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
O cmdlet Get-RdsDiagnosticActivities atualmente não dá suporte à especificação de Feed como o 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 -Resultado. 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 seguinte cmdlet de exemplo retornará uma lista de atividades de diagnóstico que falharam.
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 retornará uma atividade de diagnóstico específica se 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 da atividade
Para exibir as mensagens de erro de uma atividade com falha, execute 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 para cada atividade varia dependendo de seu 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 erro comuns
Os cenários de erro são categorizados interno para o 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 Tech Community da Área de Trabalho Virtual do Azure , inclua a ID da atividade e o período aproximado em que o problema ocorreu.
- Problema externo: relacionado a cenários que podem ser mitigados pelo administrador do sistema. Elas são externas à Área de Trabalho Virtual do Azure.
A tabela a seguir lista erros comuns que seus administradores podem encontrar.
Nota
Essa lista inclui a maioria dos erros comuns e é atualizada em uma cadência regular. Para garantir que você tenha as informações mais atualizadas up-to, certifique-se de consultar 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 | FalhaNaConexãoSemMapeamentoDeSIDNoAD | O usuário não é membro da ID do Microsoft Entra. Siga as instruções em do Centro Administrativo do Active Directory para adicioná-las. |
3 | AcessoNãoAutorizado | O usuário que tentou executar o cmdlet administrativo do PowerShell não tem permissões para fazer isso ou digitou incorretamente seu nome de usuário. |
1000 | LocatárioNãoEncontrado | O nome do locatário inserido não corresponde a nenhum locatário existente. Examine o nome do locatário para erros de digitação e tente novamente. |
1006 | O locatário não pode ser removido porque possui pools de host de sessão. | Você não pode excluir um locatário desde que ele contenha objetos. Exclua os pools de host da sessão primeiro e tente novamente. |
2000 | PoolDeHostNãoEncontrado | O nome do pool de host inserido não corresponde a nenhum pool de host existente. Examine o nome do pool de host para erros de digitação e tente novamente. |
2005 | PoolDeHospedagemNaoPodeSerRemovidoPossuiGruposDeAplicativos | Você não pode excluir um pool de hosts desde que ele contenha objetos. Remova todos os grupos de aplicativos no pool de hosts primeiro. |
2004 | Pool de Hosts Não Pode Ser Removido Pois Possui Hosts de Sessão | Remova os hosts de todas as sessões primeiro antes de excluir o pool de hosts da sessão. |
5001 | AnfitriãoDaSessãoNãoEncontrado | O host de sessão que você consultou pode estar offline. Verifique o status do pool de hosts. |
5008 | SessõesHostDeUsuárioExistem | Você deve desconectar todos os usuários no host da sessão antes de executar a atividade de gerenciamento pretendida. |
6000 | GrupoDeAplicativosNãoEncontrado | O nome do grupo de aplicativos inserido não corresponde a nenhum grupo de aplicativos existente. Examine o nome do grupo de aplicativos para erros de digitação e tente novamente. |
6022 | Aplicativo Remoto Não Encontrado | O nome RemoteApp inserido não corresponde a nenhum aplicativo. Examine o nome do RemoteApp para erros de digitação e tente novamente. |
6010 | ItensPublicadosExistem | 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 | NameNotValidWhiteSpace | Não use espaço em branco no nome. |
8000 | EscopoDePapelDeAutorizaçãoInválido | O nome da função que você inseriu não corresponde a nenhum nome de função existente. Examine o nome da função para erros de digitação e tente novamente. |
8001 | UsuárioNãoEncontrado | O nome de usuário inserido não corresponde a nenhum nome de usuário existente. Revise o nome para verificar se há erros de digitação e tente novamente. |
8005 | UsuárioNãoEncontradoNoAAD | O nome de usuário inserido não corresponde a nenhum nome de usuário existente. Revise o nome em busca de erros de digitação e tente novamente. |
8008 | ConsentimentoDoInquilinoNecessário | Siga as instruções aqui para fornecer consentimento para seu locatário. |
Códigos de erro de conexão externa
Próximas etapas
Para saber mais sobre as funções na Área de Trabalho Virtual do Azure, consulte ambiente da Área de Trabalho Virtual do Azure.
Para ver uma lista de cmdlets disponíveis do PowerShell para a Área de Trabalho Virtual do Azure, consulte a referência PowerShell.