Identificación y diagnóstico de problemas en Azure Virtual Desktop (clásico)
Importante
Este contenido se aplica a Azure Virtual Desktop (clásico), que no admite objetos de Azure Resource Manager de Azure Virtual Desktop. Si está intentando administrar objetos de Azure Virtual Desktop de Azure Resource Manager, consulte este artículo.
Azure Virtual Desktop ofrece una característica de diagnóstico que permite al administrador identificar problemas a través de una sola interfaz. Los roles de Azure Virtual Desktop registran una actividad de diagnóstico cada vez que un usuario interactúa con el sistema. Cada registro contiene información relevante, como los roles de Azure Virtual Desktop implicados en la transacción, los mensajes de error, la información del inquilino y la información del usuario. Las actividades de diagnóstico se crean mediante acciones administrativas y de usuario final, y se pueden clasificar en tres cubos principales:
- Actividades de suscripción de canales: el usuario final inicia estas actividades siempre que intente conectarse a su canal a través de aplicaciones de Escritorio remoto de Microsoft.
- Actividades de conexión: el usuario final desencadena estas actividades siempre que intente conectarse a un escritorio o RemoteApp a través de aplicaciones de Escritorio remoto de Microsoft.
- Actividades de administración: el administrador desencadena estas actividades siempre que realizan operaciones de administración en el sistema, como la creación de grupos de hosts, la asignación de usuarios a grupos de aplicaciones y la creación de asignaciones de roles.
Las conexiones que no llegan a Azure Virtual Desktop no se mostrarán en los resultados de diagnóstico porque el propio servicio de rol de diagnóstico forma parte de Azure Virtual Desktop. Los problemas de conexión de Azure Virtual Desktop pueden producirse cuando el usuario final está experimentando problemas de conectividad de red.
Para empezar, descargue e importe el módulo de PowerShell de Azure Virtual Desktop para usar en la sesión de PowerShell si aún no lo ha hecho. Después, ejecute el siguiente cmdlet para iniciar sesión en su cuenta:
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Diagnóstico de problemas con PowerShell
Diagnósticos de Azure Virtual Desktop usa solo un cmdlet de PowerShell, pero contiene muchos parámetros opcionales para ayudar a reducir y aislar problemas. En las secciones siguientes se enumeran los cmdlets que puede ejecutar para diagnosticar problemas. La mayoría de los filtros se pueden aplicar juntos. Los valores enumerados entre corchetes, como <tenantName>
, deben reemplazarse por los valores que se aplican a su situación.
Importante
La característica de diagnóstico es para la solución de problemas de un solo usuario. Todas las consultas que usan PowerShell deben incluir los parámetros -UserName o -ActivityID. Para las funcionalidades de supervisión, use Log Analytics. Consulte Use Log Analytics para la característica de diagnóstico para obtener más información sobre el envío de datos de diagnóstico a su espacio de trabajo.
Filtrado de actividades de diagnóstico por usuario
El parámetro -UserName devuelve una lista de actividades de diagnóstico iniciadas por el usuario especificado, como se muestra en el siguiente cmdlet de ejemplo.
Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN>
El parámetro -UserName también se puede combinar con otros parámetros de filtrado opcionales.
Filtrar las actividades de diagnóstico por tiempo
Puede filtrar la lista de actividades de diagnóstico proporcionada con los parámetros -StartTime y -EndTime. El parámetro -StartTime devolverá una lista de actividades de diagnóstico a partir de una fecha específica, como se muestra en el ejemplo siguiente.
Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018"
El parámetro -EndTime se puede agregar a un cmdlet con el parámetro -StartTime para especificar un período de tiempo específico para el que desea recibir resultados. El cmdlet de ejemplo siguiente devolverá una lista de actividades de diagnóstico desde el 1 de agosto hasta el 10 de agosto.
Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018" -EndTime "08/10/2018"
Los parámetros -StartTime y -EndTime también se pueden combinar con otros parámetros de filtrado opcionales.
Filtrar las actividades de diagnóstico por tipo de actividad
También puede filtrar las actividades de diagnóstico por tipo de actividad con el parámetro -ActivityType. El siguiente cmdlet devolverá una lista de conexiones de usuario final:
Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -ActivityType Connection
El siguiente cmdlet devolverá una lista de tareas de administración de administrador:
Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management
El cmdlet Get-RdsDiagnosticActivities no admite actualmente la especificación de Feed como ActivityType.
Filtrado de actividades de diagnóstico por resultado
Puede filtrar la lista de actividad de diagnóstico devuelta por resultado con el parámetro -Outcome. El cmdlet de ejemplo siguiente devolverá una lista de actividades de diagnóstico correctas.
Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -Outcome Success
El siguiente cmdlet de ejemplo devolverá una lista de actividades de diagnóstico con errores.
Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure
El parámetro -Outcome también se puede combinar con otros parámetros de filtrado opcionales.
Recuperación de una actividad de diagnóstico específica por identificador de actividad
El parámetro -ActivityId devuelve una actividad de diagnóstico específica si existe, como se muestra en el siguiente cmdlet de ejemplo.
Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityIdGuid>
Visualización de mensajes de error de una actividad con error por identificador de actividad
Para ver los mensajes de error de una actividad con errores, debe ejecutar el cmdlet con el parámetro -Detailed. Puede ver la lista de errores ejecutando el cmdlet Select-Object
Get-RdsDiagnosticActivities -TenantName <tenantname> -ActivityId <ActivityGuid> -Detailed | Select-Object -ExpandProperty Errors
Recuperación de actividades de diagnóstico detalladas
El parámetro -Detailed proporciona detalles adicionales para cada actividad de diagnóstico devuelta. El formato de cada actividad varía en función de su tipo de actividad. El parámetro -Detailed se puede agregar a cualquier consulta Get-RdsDiagnosticActivities, como se muestra en el ejemplo siguiente.
Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityGuid> -Detailed
Escenarios de error comunes
Los escenarios de error se clasifican en interno al servicio y externo a Azure Virtual Desktop.
- Problema interno: especifica escenarios que el administrador de inquilinos no puede mitigar y que se deben resolver como un problema de soporte técnico. Al proporcionar comentarios a través del Azure Virtual Desktop Tech Community, incluya el identificador de actividad y el período de tiempo aproximado de cuándo se produjo el problema.
- Problema externo: se relaciona con escenarios que el administrador del sistema puede mitigar. Estos son externos a Azure Virtual Desktop.
En la tabla siguiente se enumeran los errores comunes en los que pueden encontrarse los administradores.
Nota
Esta lista incluye los errores más comunes y se actualiza con una cadencia regular. Para asegurarse de que tiene la información más up-to-date, asegúrese de volver a comprobar este artículo al menos una vez al mes.
Códigos de error de administración externa
Código numérico | Código de error | Solución sugerida |
---|---|---|
1322 | ErrorConexiónFallidaSinMapeoDeSIDenAD | El usuario no es miembro de Microsoft Entra ID. Siga las instrucciones de Centro de administración de Active Directory para agregarlas. |
3 | AccesoNoAutorizado | El usuario que intentó ejecutar el cmdlet administrativo de PowerShell no tiene permisos para hacerlo o mal escrito su nombre de usuario. |
1000 | TenantNotFound | El nombre de inquilino especificado no coincide con ningún inquilino existente. Revise el nombre del inquilino para ver errores tipográficos e inténtelo de nuevo. |
1006 | El inquilino no puede ser eliminado porque tiene grupos de hosts de sesión. | No se puede eliminar un inquilino siempre que contenga objetos. Elimine primero los grupos de hosts de sesión y vuelva a intentarlo. |
2000 | Conjunto de servidores no encontrado | El nombre del grupo de hosts especificado no coincide con ningún grupo de hosts existente. Revise el nombre del grupo de hosts para ver errores tipográficos e inténtelo de nuevo. |
2005 | No se puede eliminar el grupo de hosts ya que tiene grupos de aplicaciones | No se puede eliminar un grupo de hosts siempre y cuando contenga objetos. Quite primero todos los grupos de aplicaciones del grupo de hosts. |
2004 | No se puede eliminar el grupo de hosts porque tiene hosts de sesión. | Quite primero todos los hosts de sesión antes de eliminar el grupo de hosts de sesión. |
5001 | AnfitriónDeSesiónNoEncontrado | El host de sesión que ha consultado podría estar sin conexión. Compruebe el estado del grupo host. |
5008 | LaSesiónDelAnfitriónDeSesionesDeUsuarioExiste | Debe cerrar la sesión de todos los usuarios en el host de sesión antes de ejecutar la actividad de administración prevista. |
6000 | GrupoDeAplicacionesNoEncontrado | El nombre del grupo de aplicaciones especificado no coincide con ningún grupo de aplicaciones existente. Revise el nombre del grupo de aplicaciones para ver errores tipográficos e inténtelo de nuevo. |
6022 | AplicaciónRemotaNoEncontrada | El nombre de RemoteApp especificado no coincide con ninguna aplicación. Revise El nombre de RemoteApp para ver errores tipográficos e inténtelo de nuevo. |
6010 | ElementosPublicadosExisten | El nombre del recurso que intenta publicar es el mismo que un recurso que ya existe. Cambie el nombre del recurso e inténtelo de nuevo. |
7002 | NameNotValidWhiteSpace | No use espacios en blanco en el nombre. |
8000 | ÁmbitoDeRolDeAutorizaciónInválido | El nombre de rol especificado no coincide con ningún nombre de rol existente. Revise el nombre del rol para los errores tipográficos e inténtelo de nuevo. |
8001 | UsuarioNoEncontrado | El nombre de usuario especificado no coincide con ningún nombre de usuario existente. Revise el nombre en busca de errores tipográficos y vuelva a intentarlo. |
8005 | UsuarioNoEncontradoEnAAD | El nombre de usuario especificado no coincide con ningún nombre de usuario existente. Revisa el nombre por errores tipográficos e inténtalo de nuevo. |
8008 | Se requiere el consentimiento del inquilino | Siga las instrucciones aquí para proporcionar consentimiento para el inquilino. |
Códigos de error de conexión externa
Código numérico | Código de error | Solución sugerida |
---|---|---|
-2147467259 | ErrorDeAnuncioConexiónFallidaNoTalMiembro | El usuario no es miembro de Active Directory. Siga las instrucciones de Centro de administración de Active Directory para agregarlas. |
-2147467259 | FalloConexiónErrorConfianzaConAD | El host de sesión no está unido correctamente a Active Directory. |
-2146233088 | La conexión falló, el usuario tiene una sesión válida pero RDSH no es saludable. | Error en las conexiones porque el host de sesión no está disponible. Compruebe el estado del host de sesión. |
-2146233088 | ConexiónFallidaDesconexiónDelCliente | Si ve este error con frecuencia, asegúrese de que el equipo del usuario está conectado a la red. |
-2146233088 | Conexión fallida: No hay Rdsh saludable disponible | La sesión a la que el usuario anfitrión intentó conectarse no está en buen estado. Depurar la máquina virtual. |
-2146233088 | ConexiónFallidaUsuarioNoAutorizado | El usuario no tiene permiso para acceder a la aplicación o escritorio publicados. El error puede aparecer después de quitar los recursos publicados por el administrador. Pida al usuario que actualice el canal en la aplicación Escritorio Remoto. |
2 | ArchivoNoEncontrado | La aplicación a la que el usuario intentó acceder está instalada incorrectamente o establecida en una ruta de acceso incorrecta. |
3 | CredencialesInválidas | El nombre de usuario o la contraseña especificados por el usuario no coincide con ningún nombre de usuario o contraseña existente. Revise las credenciales de errores tipográficos e inténtelo de nuevo. |
8 | ConnectionBroken | La conexión entre Cliente y puerta de enlace o servidor se perdió. No es necesario realizar ninguna acción a menos que se produzca inesperadamente. |
14 | DesconexiónInesperadaDeRed | La conexión a la red se cayó. Pida al usuario que se conecte de nuevo. |
24 | ReverseConnectFailed | La máquina virtual host no tiene acceso directo a RD Gateway. Asegúrese de que se puede resolver la dirección IP de la puerta de enlace. |
1322 | Conexión fallida: No hay asignación de SID en AD | El usuario no es miembro de Active Directory. Siga las instrucciones de Centro de administración de Active Directory para agregarlas. |
Pasos siguientes
Para obtener más información sobre los roles dentro del entorno de Azure Virtual Desktop, consulte .
Para ver una lista de los cmdlets de PowerShell disponibles para Azure Virtual Desktop, consulte la referencia de PowerShell.