Compartir vía


Solución de problemas de tokens de actualización principales en dispositivos Windows

En este artículo se explica cómo solucionar problemas relacionados con el token de actualización principal (PRT) al autenticarse en un dispositivo Windows unido a Microsoft Entra con las credenciales de Microsoft Entra.

En los dispositivos unidos a Microsoft Entra ID o con una unión híbrida a Microsoft Entra ID, el componente principal de la autenticación es el PRT. Este token se obtiene al iniciar sesión por primera vez en Windows 10 con las credenciales de Microsoft Entra en un dispositivo unido a Microsoft Entra. El PRT se almacena en caché en ese dispositivo. En el caso de los inicios de sesión posteriores, el token almacenado en caché se usa para permitirle usar el escritorio.

Como parte del proceso de bloquear y desbloquear el dispositivo o iniciar sesión de nuevo en Windows, se realiza un intento de autenticación de red en segundo plano una vez cada cuatro horas para actualizar el PRT. Si se producen problemas que impiden actualizar el token, el PRT finalmente expira. La expiración afecta al inicio de sesión único (SSO) en los recursos de Microsoft Entra. También hace que se muestren los mensajes de inicio de sesión.

Si sospecha que hay algún problema con el PRT, se recomienda recopilar primero los registros de Microsoft Entra y seguir los pasos que se indican en la lista de comprobación de la solución de problemas. Haga esto primero para cualquier problema de cliente de Microsoft Entra, a ser posible en una sesión de reproducción. Complete este proceso antes de presentar una solicitud de soporte técnico.

Lista de comprobación de solución de problemas

Paso 1: Obtener el estado del token de actualización principal

  1. Inicie sesión en Windows en la cuenta de usuario en la que experimenta problemas de PRT.

  2. Seleccione Inicio y, a continuación, busque y seleccione Símbolo del sistema.

  3. Para ejecutar el comando de registro de dispositivos (dsregcmd), escriba dsregcmd /status.

  4. Busque la sección estado de SSO de la salida del comando de registro de dispositivos. En el texto siguiente se muestra un ejemplo de esta sección:

    +----------------------------------------------------------------------+
    | SSO State                                                            |
    +----------------------------------------------------------------------+
    
                    AzureAdPrt : YES
          AzureAdPrtUpdateTime : 2020-07-12 22:57:53.000 UTC
          AzureAdPrtExpiryTime : 2020-07-26 22:58:35.000 UTC
           AzureAdPrtAuthority : https://login.microsoftonline.com/00001111-aaaa-2222-bbbb-3333cccc4444
                 EnterprisePrt : YES
       EnterprisePrtUpdateTime : 2020-07-12 22:57:54.000 UTC
       EnterprisePrtExpiryTime : 2020-07-26 22:57:54.000 UTC
        EnterprisePrtAuthority : https://msft.sts.microsoft.com:443/adfs
    
    +----------------------------------------------------------------------+
    
  5. Compruebe el valor del campo AzureAdPrt. Si está establecido en NO, indica que se produjo un error al intentar adquirir el estado del PRT de Microsoft Entra ID.

  6. Compruebe el valor del campo AzureAdPrtUpdateTime. Si el valor del campo AzureAdPrtUpdateTime es de más de cuatro horas, es probable que un problema impida que el PRT se actualice. Bloquee y desbloquee el dispositivo para forzar una actualización del PRT y, después, compruebe si se ha actualizado la hora.

Paso 2: obtener el código de error

El siguiente paso es obtener el código de error que provoca el error de PRT. La forma más rápida de obtener el código de error de PRT es examinar la salida del comando de registro de dispositivos. Sin embargo, este método requiere la actualización de mayo de 2021 de Windows 10 (versión 21H1) o una versión posterior. El otro método consiste en buscar el código de error en los registros analíticos y operativos de Microsoft Entra.

Método 1: Examen de la salida del comando de registro de dispositivos

Nota

Este método solo está disponible si usa la actualización de mayo de 2021 de Windows 10 (versión 21H1) o una versión posterior de Windows.

Para obtener el código de error de PRT, ejecute el comando dsregcmd y busque la sección SSO State. En el campo AzureAdPrt, el campo Attempt Status contiene el código de error. En el ejemplo siguiente, el código de error es 0xc000006d.

                AzureAdPrt : NO
       AzureAdPrtAuthority : https://login.microsoftonline.com/aaaa0000-bb11-2222-33cc-444444dddddd
     AcquirePrtDiagnostics : PRESENT
      Previous Prt Attempt : 2020-09-18 20:20:09.760 UTC
            Attempt Status : 0xc000006d
             User Identity : user@contoso.com
           Credential Type : Password
            Correlation ID : aaaa0000-bb11-2222-33cc-444444dddddd
              Endpoint URI : https://login.microsoftonline.com/aaaa0000-bb11-2222-33cc-444444dddddd/oauth2/token
               HTTP Method : POST
                HTTP Error : 0x0
               HTTP status : 400
         Server Error Code : invalid_grant
  Server Error Description : AADSTS50126: Error validating credentials due to invalid username or password.

Método 2: Uso de Visor de eventos para examinar los registros analíticos y operativos de Azure AD

  1. Seleccione Inicio y, a continuación, busque y seleccione Visor de eventos.

  2. Si el árbol de consola no aparece en la ventana Visor de eventos, seleccione el icono Mostrar u ocultar árbol de consola para que el árbol de consola sea visible.

  3. En el árbol de consola, seleccione Visor de eventos (Local) . Si los nodos secundarios no aparecen debajo de este elemento, haga doble clic en la selección para mostrarlos.

  4. Seleccione el menú Ver. Si no se muestra una marca de verificación junto a Mostrar registros analíticos y de depuración, seleccione ese elemento de menú para habilitar esa característica.

  5. En el árbol de consola, expanda Registros de servicios y aplicaciones>Microsoft>Windows>AAD. Aparecen los nodos secundarios Operativos y Analíticos.

    Nota:

    En el complemento CloudAP (proveedor de autenticación en la nube) de Microsoft Entra, los eventos Error se escriben en los registros de eventos Operativos y los eventos de información se escriben en los registros de eventos Analíticos. Debe examinar los registros de eventos Operativos y Analíticos para solucionar problemas de PRT.

  6. En el árbol de consola, seleccione el nodo Analítico para ver los eventos analíticos relacionados con Azure AD.

  7. En la lista de eventos analíticos, busque Identificadores de evento 1006 y 1007. El evento 1006 de los registros analíticos denota el inicio del flujo de adquisición del PRT y el evento 1007 en los registros analíticos denota el final del flujo de adquisición del PRT. Todos los eventos de los registros de AAD(Analíticos y Operativos) que se produjeron entre el identificador de evento 1006 y el identificador de evento 1007 se registran como parte del flujo de adquisición del PRT. La siguiente tabla se muestra a modo de ejemplo.

    Nivel Fecha y hora Source Id. de evento Categoría de la tarea
    Información 6/24/2020 3:35:35 AM AAD 1006 AadCloudAPPlugin Operation
    Información 24/6/2020 3:35:35 A. M. AAD 1018 AadCloudAPPlugin Operation
    Información 24/6/2020 3:35:35 A. M. AAD 1144 AadCloudAPPlugin Operation
    Información 24/6/2020 3:35:35 A. M. AAD 1022 AadCloudAPPlugin Operation
    Error 24/6/2020 3:35:35 A. M. AAD 1084 AadCloudAPPlugin Operation
    Error 24/6/2020 3:35:35 A. M. AAD 1086 AadCloudAPPlugin Operation
    Error 24/6/2020 3:35:35 A. M. AAD 1160 AadCloudAPPlugin Operation
    Información 6/24/2020 3:35:35 AM AAD 1007 AadCloudAPPlugin Operation
    Información 24/6/2020 3:35:35 A. M. AAD 1157 AadCloudAPPlugin Operation
    Información 24/6/2020 3:35:35 A. M. AAD 1158 AadCloudAPPlugin Operation
  8. Haga doble clic en la fila que contiene el identificador de evento 1007. Aparece el cuadro de diálogo Propiedades del evento para este evento.

  9. En el cuadro de descripción de la pestaña General, copie el código de error. El código de error es una cadena de 10 caracteres que comienza por 0x, seguida de un número hexadecimal de 8 dígitos.

Paso 3: Obtener instrucciones de solución de problemas para determinados códigos de error

Códigos de estado (prefijo "STATUS_", códigos que empiezan por "0xc000")

STATUS_LOGON_FAILURE (-1073741715 / 0xc000006d),
STATUS_WRONG_PASSWORD (-1073741718 / 0xc000006a)
Causa
  • El dispositivo no se puede conectar al servicio de autenticación de Microsoft Entra.

  • El dispositivo recibió una respuesta de error HTTP 400 Bad Request de uno de los orígenes siguientes:

    • Servicio de autenticación de Microsoft Entra
    • Un punto de conexión para el protocolo WS-Trust (necesario para la autenticación federada)
Solución
  • Si el entorno local requiere un proxy de salida, asegúrese de que la cuenta del equipo del dispositivo pueda detectar el proxy de salida y se autentique en él en modo silencioso.

  • Obtenga el código de error del servidor y la descripción del error y, a continuación, vaya a la sección Códigos de error comunes del servidor (prefijo "AADSTS") para encontrar la causa de ese código de error del servidor y los detalles de la solución.

    En los registros operativos de Microsoft Entra, el identificador de evento 1081 contiene el código y la descripción del error del servidor si el error se produce en el servicio de autenticación de Microsoft Entra. Si el error se produce en un punto de conexión de WS-Trust, el código de error del servidor y la descripción del error se encuentran en el id. de evento 1088. En los registros analíticos de Microsoft Entra, la primera instancia del identificador de evento 1022 (que precede a los identificadores de eventos operativos 1081 y 1088) contiene la dirección URL a la que se accede.

    Para ver los identificadores de eventos en los registros operativos y analíticos de Microsoft Entra, consulte la sección Método 2: Uso del Visor de eventos para examinar los registros operativos y analíticos de Microsoft Entra.

STATUS_REQUEST_NOT_ACCEPTED (-1073741616 / 0xc00000d0)
Causa

El dispositivo recibió una respuesta de error HTTP 400 Bad Request de uno de los orígenes siguientes:

  • Servicio de autenticación de Microsoft Entra
  • Un punto de conexión para el protocolo WS-Trust (necesario para la autenticación federada)
Solución

Obtenga el código de error del servidor y la descripción del error y, a continuación, vaya a la sección Códigos de error comunes del servidor (prefijo "AADSTS") para encontrar la causa de ese código de error del servidor y los detalles de la solución.

En los registros operativos de Microsoft Entra, el identificador de evento 1081 contiene el código y la descripción del error del servidor si el error se produce en el servicio de autenticación de Microsoft Entra. Si el error se produce en un punto de conexión de WS-Trust, el código de error del servidor y la descripción del error se encuentran en el id. de evento 1088. En los registros analíticos de Microsoft Entra, la primera instancia del identificador de evento 1022 (que precede a los identificadores de eventos operativos 1081 y 1088) contiene la dirección URL a la que se accede.

Para ver los identificadores de eventos en los registros operativos y analíticos de Microsoft Entra, consulte la sección Método 2: Uso del Visor de eventos para examinar los registros operativos y analíticos de Microsoft Entra.

STATUS_NETWORK_UNREACHABLE (-1073741252 / 0xc000023c),
STATUS_BAD_NETWORK_PATH (-1073741634 / 0xc00000be),
STATUS_UNEXPECTED_NETWORK_ERROR (-1073741628 / 0xc00000c4)
Causa
  • El dispositivo recibió una respuesta de error HTTP 4xx de uno de los orígenes siguientes:

    • Servicio de autenticación de Microsoft Entra
    • Un punto de conexión para el protocolo WS-Trust (necesario para la autenticación federada)
  • Existe un problema de conectividad de red a un punto de conexión necesario.

Solución
  • Obtenga el código de error del servidor y la descripción del error y, a continuación, vaya a la sección Códigos de error comunes del servidor (prefijo "AADSTS") para encontrar la causa de ese código de error del servidor y los detalles de la solución.

    En los registros operativos de Microsoft Entra, el identificador de evento 1081 contiene el código y la descripción del error del servidor si el error se produce en el servicio de autenticación de Microsoft Entra. Si el error se produce en un punto de conexión de WS-Trust, el código de error del servidor y la descripción del error se encuentran en el id. de evento 1088.

  • Para un problema de conectividad de red, obtenga la dirección URL a la que se accede y el código de suberror de la pila de red. El identificador de evento 1022 de los registros analíticos de Microsoft Entra contiene la dirección URL a la que se accede. El identificador de evento 1084 de los registros operativos de Microsoft Entra contiene el código de suberror de la pila de red.

Para ver los identificadores de eventos en los registros operativos y analíticos de Microsoft Entra, consulte la sección Método 2: Uso del Visor de eventos para examinar los registros operativos y analíticos de Microsoft Entra.

STATUS_NO_SUCH_LOGON_SESSION (-1073741729 / 0xc000005f)
Causa

No se ha podido detectar el dominio del usuario, porque el servicio de autenticación de Microsoft Entra no encuentra el dominio del usuario.

Solución

Códigos de error comunes del complemento CloudAP (prefijo "AAD_CLOUDAP_E_", códigos que comienzan por "0xc004")

AAD_CLOUDAP_E_OAUTH_USERNAME_IS_MALFORMED (-1073445812 / 0xc004844c)
Causa

El UPN del usuario no tiene el formato esperado. El valor UPN varía según el tipo de dispositivo, como se muestra en la tabla siguiente.

Tipo de unión de dispositivo Valor UPN
Dispositivos unidos a Microsoft Entra Texto que se escribe cuando el usuario inicia sesión
Dispositivos híbridos unidos a Microsoft Entra UPN que devuelve el controlador de dominio durante el proceso de inicio de sesión
Solución
AAD_CLOUDAP_E_OAUTH_USER_SID_IS_EMPTY (-1073445822 / 0xc0048442)
Causa

Falta el identificador de seguridad de usuario (SID) en el token de identificador que devuelve el servicio de autenticación de Microsoft Entra.

Solución

Asegúrese de que el proxy no interfiere ni modifica la respuesta del servidor.

AAD_CLOUDAP_E_WSTRUST_SAML_TOKENS_ARE_EMPTY (-1073445695 / 0xc00484c1 / 0x800484c1)
Causa

Ha recibido un error del punto de conexión del protocolo WS-Trust (necesario para la autenticación federada).

Solución
AAD_CLOUDAP_E_HTTP_PASSWORD_URI_IS_EMPTY (-1073445749 / 0xc004848b)
Causa

El punto de conexión de Metadata Exchange (MEX) está configurado incorrectamente. La respuesta MEX no contiene direcciones URL de contraseña.

Solución
  • Asegúrese de que el proxy no interfiere ni modifica la respuesta del servidor.

  • Corrija la configuración de MEX para devolver direcciones URL válidas en la respuesta.

AAD_CLOUDAP_E_HTTP_CERTIFICATE_URI_IS_EMPTY (-1073445748 / 0xc004848c)
Causa

El punto de conexión de Metadata Exchange (MEX) está configurado incorrectamente. La respuesta MEX no contiene ninguna dirección URL de punto de conexión de certificado.

Solución
  • Asegúrese de que el proxy no interfiere ni modifica la respuesta del servidor.

  • Corrija la configuración de MEX en el proveedor de identidades para devolver direcciones URL de certificado válidas en la respuesta.

Códigos de error XML comunes (códigos que comienzan por "0xc00c")

WC_E_DTDPROHIBITED (-1072894385 / 0xc00cee4f)
Causa

La respuesta XML del punto de conexión del protocolo WS-Trust (necesario para la autenticación federada) incluía una definición de tipo de documento (DTD). El DTD no se espera en la respuesta XML y se produce un error en el análisis de respuesta si se incluye el DTD.

Solución

Códigos de error comunes del servidor (prefijo "AADSTS")

Puede encontrar una lista completa y una descripción de los códigos de error del servidor en los códigos de error de autenticación y autorización de Microsoft Entra.

AADSTS50155: Error de autenticación del dispositivo
Causa
Solución

Vuelva a registrar el dispositivo según el tipo de unión del dispositivo. Para obtener instrucciones, consulte He deshabilitado o eliminado mi dispositivo, pero el estado local en el dispositivo indica que todavía está registrado. ¿Qué debería hacer?.

AADSTS50034: La cuenta de usuario <Cuenta> no existe en el <directorio>tenant-id
Causa

Microsoft Entra ID no encuentra la cuenta de usuario en el inquilino.

Solución
AADSTS50126: se ha producido un error al validar las credenciales debido a un nombre de usuario o contraseña no válidos
Causa
  • El usuario escribió un nombre de usuario o una contraseña incorrectos en la interfaz de usuario de inicio de sesión.

  • La contraseña no se ha sincronizado con Microsoft Entra ID debido al siguiente escenario:

Solución

Para adquirir un PRT nuevo que tenga las nuevas credenciales, espere a que finalice la sincronización de Microsoft Entra.

Códigos de error de red comunes (prefijo "ERROR_WINHTTP_")

Puede encontrar una lista completa y una descripción de los códigos de error de red en Mensajes de error (Winhttp.h).

ERROR_WINHTTP_TIMEOUT (12002),
ERROR_WINHTTP_NAME_NOT_RESOLVED (12007),
ERROR_WINHTTP_CANNOT_CONNECT (12029),
ERROR_WINHTTP_CONNECTION_ERROR (12030)
Causa

Problemas comunes relacionados con la red general.

Solución
  • Obtenga la dirección URL a la que se accede. Puede encontrar la dirección URL en el identificador de evento 1084 del registro operativo de Microsoft Entra o en el identificador de evento 1022 del registro analítico de Microsoft Entra.

    Para ver los identificadores de eventos en los registros operativos y analíticos de Microsoft Entra, consulte la sección Método 2: Uso del Visor de eventos para examinar los registros operativos y analíticos de Microsoft Entra.

  • Si el entorno local requiere un proxy de salida, asegúrese de que la cuenta del equipo del dispositivo pueda detectar el proxy de salida y se autentique en él en modo silencioso.

  • Recopile seguimientos de red siguiendo estos pasos:

    Importante

    No use Fiddler durante este procedimiento.

    1. Ejecute el siguiente comando netsh trace start:

      netsh trace start scenario=InternetClient_dbg capture=yes persistent=yes
      
    2. Bloquee el dispositivo.

    3. Si el dispositivo tiene una unión híbrida a Microsoft Entra, espere al menos 60 segundos para que finalice la adquisición del PRT.

    4. Desbloquee el dispositivo.

    5. Ejecute el siguiente comando netsh trace stop:

      netsh trace stop
      

Paso 4: Recopilar los registros y seguimientos

Registros normales

  1. Descargue el Archivo de scripts de autenticación y extraiga los scripts en un directorio local. Si es necesario, revise las instrucciones de uso en KB 4487175.

  2. Abra una sesión de PowerShell administrativa y cambie el directorio actual al directorio en el que guardó los scripts de autenticación.

  3. Para comenzar la sesión de seguimiento de errores, escriba el siguiente comando:

    .\Start-auth.ps1 -v -acceptEULA
    
  4. Cambie la cuenta de usuario de Windows para ir a la sesión del usuario del problema.

  5. Bloquee el dispositivo.

  6. Si el dispositivo tiene una unión híbrida a Microsoft Entra, espere al menos 60 segundos para que finalice la adquisición del PRT.

  7. Desbloquee el dispositivo.

  8. Vuelva a cambiar la cuenta de usuario de Windows a la sesión administrativa que ejecuta la sesión de seguimiento.

  9. Después de reproducir el problema, ejecute el siguiente comando para finalizar la sesión de seguimiento:

    .\stop-auth.ps1
    
  10. Espere a que todo el seguimiento se detenga por completo.

Seguimientos de viaje en el tiempo

En el procedimiento siguiente se describe cómo capturar seguimientos mediante la característica Depuración de viaje en el tiempo (TTD).

Advertencia

Los seguimientos de viaje en el tiempo contienen datos personales. Además, los seguimientos del servicio del subsistema de autoridad de seguridad local (LSASS o lsass.exe) contienen información extremadamente confidencial. Al controlar estos seguimientos, asegúrese de usar los procedimientos recomendados para el almacenamiento y el uso compartido de este tipo de información.

  1. Seleccione Inicio, escriba cmd, busque y haga clic con el botón derecho en Símbolo del sistema en los resultados de la búsqueda y, a continuación, seleccione Ejecutar como administrador.

  2. En el símbolo del sistema, cree un directorio temporal:

    mkdir c:\temp
    
  3. Ejecute el siguiente comando tasklist:

    tasklist /m lsasrv.dll
    
  4. En la salida del comando tasklist, busque el identificador de proceso (PID) de lsass.exe.

  5. Para iniciar una sesión de seguimiento del proceso de lsass.exe, ejecute el siguiente comando de depuración de viaje en el tiempo (TTD.exe):

    TTD.exe -attach <lsass-pid> -out c:\temp
    
  6. Bloquee el dispositivo que ha iniciado sesión en la cuenta de dominio.

  7. Desbloquee el dispositivo.

  8. Para finalizar la sesión de seguimiento de viaje en el tiempo, ejecute el siguiente comando TTD:

    TTD.exe -stop all
    
  9. Obtenga el archivo lsass##.run más reciente.