Solucione los problemas de aprovisionamiento local de aplicaciones

Solución de problemas de conexión de prueba.

Después de configurar el agente de aprovisionamiento y el host de conectividad extensible (ECMA), es el momento de probar la conectividad desde el servicio de aprovisionamiento de Microsoft Entra al agente de aprovisionamiento, al host ECMA y a la aplicación. Para llevar a cabo esta prueba de un extremo a otro, seleccione Probar conexión en la aplicación en el Azure Portal. Asegúrese de esperar de 10 a 20 minutos después de asignar un agente inicial o cambiar el agente antes de probar la conexión. Cuando se produce un error en la conexión de prueba, pruebe los siguientes pasos de solución de problemas:

  1. Compruebe que el agente y el host ECMA se están ejecutando:

    1. En el servidor con el agente instalado, abra Servicios. Para ello, vaya a Inicio>Ejecutar>Services.msc.

    2. En Servicios asegúrese de que los servicios del Agente de aprovisionamiento de Microsoft Entra Connect y Microsoft ECMA2Host están presentes y que su estado es En ejecución.

      Screenshot that shows that the ECMA service is running.

  2. Compruebe que el servicio del host del conector de ECMA responde a las solicitudes.

    1. En el servidor con el agente instalado, inicie PowerShell.
    2. Cambie a la carpeta en la que se instaló el host de ECMA, como C:\Program Files\Microsoft ECMA2Host.
    3. Cambie al subdirectorio Troubleshooting.
    4. Ejecute el script TestECMA2HostConnection.ps1 en ese directorio. Proporcione como argumentos el nombre del conector y el token secreto cuando se le solicite.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1
      Supply values for the following parameters:
      ConnectorName: CORPDB1
      SecretToken: ************
      
    5. Este script envía una solicitud SCIM GET o POST para validar que el host del conector ECMA funciona y responde a las solicitudes. Si la salida no muestra que una conexión HTTP se realizó correctamente, compruebe que el servicio se está ejecutando y que se proporcionó el token secreto correcto.
  3. Asegúrese de que el agente está activo; para ello, vaya a la aplicación en el Azure Portal, seleccione conectividad del administrador, haga clic en la lista desplegable del agente y asegúrese de que el agente está activo.

  4. Compruebe si el token secreto proporcionado es el mismo que el token secreto local. Vaya al entorno local, vuelva a proporcionar el token secreto y cópielo en el Azure Portal.

  5. Asegúrese de que ha asignado uno o varios agentes a la aplicación en Azure Portal.

  6. Una vez asignado un agente, debe esperar de 10 a 20 minutos para que se complete el registro. La prueba de conectividad no funciona hasta que se completa el registro.

  7. Asegúrese de que usa un certificado válido que no ha expirado. Vaya a la pestaña Configuración del host de ECMA para ver la fecha de expiración del certificado. Si el certificado ha expirado, haga clic en Generate certificate para generar un nuevo certificado.

  8. Reinicie el agente de aprovisionamiento; para ello, vaya a la barra de tareas de la máquina virtual y busque el agente de aprovisionamiento de Microsoft Entra Connect. Haga clic con el botón derecho en Detener y seleccione Iniciar.

  9. Si sigue viendo The ECMA host is currently importing data from the target application incluso después de reiniciar el host del conector de ECMA y el agente de aprovisionamiento, y mientras espera a que se complete la importación inicial, es posible que tenga que cancelar y volver a iniciar la configuración del aprovisionamiento en la aplicación de Azure Portal.

  10. Al proporcionar la dirección URL del inquilino en Azure Portal, asegúrese de aplicar el siguiente patrón. Puede reemplazar localhost por el nombre del host, pero no es necesario. Reemplace connectorName por el nombre del conector especificado en el host ECMA. Por lo general, el mensaje de error "recurso no válido" indicar que la dirección URL no sigue el formato esperado.

    https://localhost:8585/ecma2host_connectorName/scim
    
  11. Vaya a la carpeta siguiente para revisar los registros del agente de aprovisionamiento: C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace

    1. Si ve el error siguiente, agregue la cuenta de servicio "NT SERVICE\AADConnectProvisioningAgent" al grupo local denominado "Usuarios del registro de rendimiento". Esto elimina el error de excepción "No se ha podido inicializar el recopilador de métricas" al permitir que la cuenta acceda a la clave del Registro deseada: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib.
Unable to initialize metrics collector, exception: 'System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.
  1. Al configurar el host de ECMA, asegúrese de proporcionar un certificado con un asunto que coincida con el nombre de host del servidor de Windows. El certificado generado por el host de ECMA lo hará automáticamente, pero solo se debe usar en las pruebas.
Error code: SystemForCrossDomainIdentityManagementCredentialValidationUnavailable

Details: We received this unexpected response from your application: Received response from Web resource. Resource: https://localhost/Users?filter=PLACEHOLDER+eq+"8646d011-1693-4cd3-9ee6-0d7482ca2219" Operation: GET Response Status Code: InternalServerError Response Headers: Response Content: An error occurred while sending the request. Please check the service and try again.

No se puede configurar el host ECMA, ver los registros en el visor de eventos ni iniciar el servicio de host ECMA

Para resolver los siguientes problemas, ejecute el asistente de configuración del host de ECMA como administrador:

  • Me da un error cuando abro el asistente de host ECMA.

    Screenshot that shows an ECMA wizard error.

  • Puedo configurar el asistente para host ECMA, pero no puedo ver los registros de host ECMA. En este caso, tiene que abrir el asistente de configuración del host de ECMA como administrador y configurar un conector de un extremo a otro. Este paso se puede simplificar; para ello, exporte un conector existente y vuélvalo a importar.

    Screenshot that shows host logs.

  • Puedo configurar el asistente para host ECMA, pero no puedo iniciar el servicio de host ECMA.

    Screenshot that shows the host service.

Activación del registro detallado

De forma predeterminada, switchValue para el host del conector ECMA se establece en Verbose. Esto emitirá un registro detallado que le ayudará a solucionar problemas. Puede cambiar el nivel de detalle a Error si desea que el número de registros emitidos se limite solo a los errores. Al usar el conector SQL sin la Autenticación integrada de Windows, se recomienda establecer switchValue en Error, ya que esto asegurará que la cadena de conexión no se emita en los registros. Para cambiar el nivel de detalle a error, actualice switchValue a "Error" en ambos lugares, como se muestra a continuación.

La ubicación del archivo para el registro detallado del servicio es C:\Archivos de programa\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <startup>  
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /> 
    </startup> 
    <appSettings> 
      <add key="Debug" value="true" /> 
    </appSettings> 
    <system.diagnostics> 
      <sources> 
    <source name="ConnectorsLog" switchValue="Error"> 
          <listeners> 
            <add initializeData="ConnectorsLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ConnectorsLog" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack"> 
              <filter type=""/> 
            </add> 
          </listeners> 
        </source> 
        <!-- Choose one of the following switchTrace:  Off, Error, Warning, Information, Verbose --> 
        <source name="ECMA2Host" switchValue="Error"> 
          <listeners>  
            <add initializeData="ECMA2Host" type="System.Diagnos

La ubicación del archivo para el registro del asistente es C:\Archivos de programa\Microsoft ECMA2Host\Wizard\Microsoft.ECMA2Host.ConfigWizard.exe.config.

      <source name="ConnectorsLog" switchValue="Error"> 
        <listeners> 
          <add initializeData="ConnectorsLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ConnectorsLog" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack"> 
            <filter type=""/> 
          </add> 
        </listeners> 
      </source> 
      <!-- Choose one of the following switchTrace:  Off, Error, Warning, Information, Verbose --> 
      <source name="ECMA2Host" switchValue="Error"> 
        <listeners> 
          <add initializeData="ECMA2Host" type="System.Diagnostics.EventLogTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ECMA2HostListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack" /> 

Consulta de la caché de hosts ECMA

El host ECMA tiene una caché de usuarios en la aplicación que se actualiza según la programación que especifique en la página de propiedades del Asistente para host ECMA. Para consultar la memoria caché, realice los pasos siguientes:

  1. Establezca la marca Depurar en true.

    Tenga en cuenta que establecer la marca de depuración en true deshabilitar la autenticación en el host ECMA. Tendrá que volver a establecerlo en false y reiniciar el servicio del host de ECMA una vez que haya terminado de consultar la memoria caché.

    La ubicación del archivo de registro del servicio de modo detallado es C:\Program Files\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
       <startup>  
           <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /> 
       </startup> 
       <appSettings> 
         <add key="Debug" value="true" /> 
       </appSettings> 
    
    
  2. Reinicie el servicio Microsoft ECMA2Host .

  3. Espere a que el host de ECMA se conecte a los sistemas de destino y vuelva a leer la caché de cada uno de los sistemas conectados. Si hay muchos usuarios en esos sistemas conectados, este proceso de importación puede tardar varios minutos.

  4. Consulte este punto de conexión desde el servidor en el que está instalado el host de ECMA y reemplace {connector name} por el nombre del conector, que está especificado en la página de propiedades del host de ECMA: https://localhost:8585/ecma2host_{connectorName}/scim/cache.

    1. En el servidor con el agente instalado, inicie PowerShell.
    2. Cambie a la carpeta en la que se instaló el host de ECMA, como C:\Program Files\Microsoft ECMA2Host.
    3. Cambie al subdirectorio Troubleshooting.
    4. Ejecute el script TestECMA2HostConnection.ps1 en ese directorio y proporcione como argumentos el nombre del conector y el valor cache de ObjectTypePath. Cuando se le solicite, escriba el token secreto configurado para ese conector.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1 -ConnectorName CORPDB1 -ObjectTypePath cache
      Supply values for the following parameters:
      SecretToken: ************
      
    5. Este script envía una solicitud SCIM GET para validar que el host del conector de ECMA funciona y responde a las solicitudes. Si la salida no muestra que una conexión HTTP se realizó correctamente, compruebe que el servicio se está ejecutando y que se proporcionó el token secreto correcto.
  5. Vuelva a establecer la marca Depurar en false o quite la configuración una vez que haya terminado de consultar la memoria caché.

  6. Reinicie el servicio Microsoft ECMA2Host .

Falta el atributo de destino

El servicio de aprovisionamiento detecta automáticamente los atributos de la aplicación de destino. Si ve que falta un atributo de destino en la lista de atributos de destino en Azure Portal, realice el siguiente paso de solución de problemas:

  1. Revise la página Seleccionar atributos de la configuración del host de ECMA para comprobar que el atributo se ha seleccionado; así podrá exponerse en Azure Portal.
  2. Asegúrese de que el servicio del host de ECMA está activado.
  3. Después de asignar los agentes a la aplicación empresarial, completar el paso de prueba de conexión y guardar las credenciales de administrador, actualice el navegador. Esto obligará al servicio de aprovisionamiento a realizar una solicitud /schemas y detectará los atributos de destino.
  4. Revise los registros del host ECMA para comprobar que se realizó una solicitud /schemas y revise los atributos de la respuesta. Esta información será útil para que el servicio de soporte técnico solucione el problema.

Recopilación de registros del visor de eventos como un archivo ZIP

Puede utilizar un script incluido para capturar los registros del evento en un archivo ZIP y exportarlos.

  1. En el servidor con el agente instalado, haga clic con el botón derecho en PowerShell en el menú Inicio y seleccione Run as administrator.
  2. Cambie a la carpeta en la que se instaló el host de ECMA, como C:\Program Files\Microsoft ECMA2Host.
  3. Cambie al subdirectorio Troubleshooting.
  4. Ejecute el script CollectTroubleshootingInfo.ps1 en ese directorio.
  5. El script creará un archivo ZIP con los registros de eventos en ese directorio.

Revisión de eventos en el visor de eventos

Una vez configurada la asignación del esquema de host del conector ECMA, inicie el servicio para que escuche las conexiones entrantes. A continuación, supervise las solicitudes entrantes.

  1. Seleccione el menú Inicio, escriba visor de eventos y elija Visor de eventos.
  2. En Visor de eventos, expanda Registros de aplicaciones y servicios y seleccione Registros de Microsoft ECMA2Host.
  3. A medida que el host del conector reciba los cambios, los eventos se escribirán en el registro de aplicaciones.

Errores comunes

Error Resolución
No se pudo cargar el archivo o ensamblado "file:///C:\Archivos de programa\Microsoft ECMA2Host\Service\ECMA\Cache\8b514472-c18a-4641-9a44-732c296534e8\Microsoft.IAM.Connector.GenericSql.dll" ni ninguna de sus dependencias. Acceso denegado. Asegúrese de que la cuenta de servicio de red tiene permisos de "control total" sobre la carpeta de la caché.
El estilo de LDAP del nombre de dominio del objeto no es válido. DN: username@domain.com" o Target Site: ValidByLdapStyle Asegúrese de que la casilla "DN is Anchor" (El nombre de dominio es Anchor) no está activada en la página de "conectividad" del host de ECMA. Asegúrese de que la casilla "autogenerated" (generado automáticamente) está activada en la página de "tipos de objeto" del host de ECMA. Para más información, consulte Acerca de los atributos delimitadores y los nombres distintivos (DN).
ExportErrorCustomContinueRun. objectClass: número de valor no válido por sintaxis Asegúrese de que la asignación de atributos de aprovisionamiento al atributo objectClass incluya solo nombres de clases de objeto reconocidas por el servidor de directorios.

Descripción de las solicitudes de SCIM entrantes

Las solicitudes realizadas por Microsoft Entra ID al agente de aprovisionamiento y al host del conector usan el protocolo SCIM. Las solicitudes realizadas desde el host a las aplicaciones usan el protocolo que admite la aplicación. Las solicitudes del host al agente para Microsoft Entra ID se basan en SCIM. Puede obtener más información sobre la implementación de SCIM en Tutorial: Desarrollo y planeación del aprovisionamiento de un punto de conexión SCIM en Microsoft Entra ID.

Normalmente, el servicio de aprovisionamiento de Microsoft Entra realiza una llamada get-user para comprobar si hay un usuario ficticio en tres situaciones: al principio de cada ciclo de aprovisionamiento, antes de realizar el aprovisionamiento a petición y cuando se selecciona la conexión de prueba. Esta comprobación garantiza que el punto de conexión de destino está disponible y devuelve respuestas compatibles con SCIM al servicio de aprovisionamiento de Microsoft Entra.

¿Cómo puedo solucionar los problemas del agente de aprovisionamiento?

Es posible que experimente los siguientes escenarios de error.

El agente no se pudo iniciar

Puede recibir un mensaje de error que indique lo siguiente:

"No se pudo iniciar el servicio 'Agente de aprovisionamiento de Microsoft Entra Connect'. Compruebe que dispone de suficientes privilegios para iniciar servicios del sistema".

Este problema suele deberse a que una directiva de grupo impidió que se aplicaran permisos a la cuenta de inicio de sesión del servicio NT local creada por el instalador (NT SERVICE\AADConnectProvisioningAgent). Estos permisos son necesarios para iniciar el servicio.

Para resolver este problema:

  1. Inicie sesión en el servidor con una cuenta de administrador.
  2. Abra Servicios. Para ello, vaya ahí o a Inicio>Ejecutar>Services.msc.
  3. En Servicios, haga doble clic en Agente de aprovisionamiento de Microsoft Entra Connect.
  4. En la pestaña Iniciar sesión, cambie Esta cuenta a un administrador de dominio. A continuación, reinicie el servicio.

En esta prueba se comprobará que los agentes pueden comunicarse con Azure a través del puerto 443. Abra un explorador y vaya a la dirección URL anterior desde el servidor en el que está instalado el agente.

El agente agota el tiempo de espera o el certificado no es válido

Al intentar registrar el agente, es posible que reciba el siguiente mensaje de error.

Screenshot that shows that the agent timed out.

Este problema suele deberse a que el agente no puede conectarse al servicio de identidad híbrida y requiere configurar un proxy HTTP. Para solucionar este problema, configure un proxy de salida.

El agente de aprovisionamiento admite el uso de un proxy de salida. Puede configurarlo al editar el archivo de configuración del agente C:\Archivos de programa\Microsoft Azure AD Connect Provisioning Agent\AADConnectProvisioningAgent.exe.config. Agregue al archivo las siguientes líneas, hacia el final del archivo, justo antes de la etiqueta de cierre </configuration>. Reemplace las variables [proxy-server] y [proxy-port] con los valores del puerto y el nombre del servidor proxy.

    <system.net>
        <defaultProxy enabled="true" useDefaultCredentials="true">
            <proxy
                usesystemdefault="true"
                proxyaddress="http://[proxy-server]:[proxy-port]"
                bypassonlocal="true"
            />
        </defaultProxy>
    </system.net>

Error de seguridad al registrar el agente

Es posible que reciba un mensaje de error al instalar el agente de aprovisionamiento en la nube.

Este problema suele deberse a que el agente no puede ejecutar los scripts de registro de PowerShell debido a las directivas de ejecución locales de PowerShell.

Para solucionar este problema, cambie las directivas de ejecución de PowerShell en el servidor. Debe establecer las directivas de máquina y usuario en Undefined o RemoteSigned. Si se establece como Unrestricted, verá este error. Para más información, consulte las directivas de ejecución de PowerShell.

Archivos de registro

De manera predeterminada, el agente emite mensajes de error mínimos e información de seguimiento de la pila. Puede encontrar los registros de seguimiento en la carpeta C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace.

Para recopilar más información para solucionar problemas relacionados con el agente:

  1. Instale el módulo AADCloudSyncTools de PowerShell como se describe en Módulo AADCloudSyncTools de PowerShell para la sincronización en la nube de Microsoft Entra Connect.

  2. Use el cmdlet Export-AADCloudSyncToolsLogs de PowerShell para capturar la información. Utilice los siguientes modificadores para ajustar la recopilación de datos. Uso:

    • SkipVerboseTrace para exportar solo los registros actuales sin capturar registros detallados (valor predeterminado = false).
    • TracingDurationMins para especificar una duración de captura diferente (valor predeterminado = 3 minutos).
    • OutputPath para especificar una ruta de acceso de salida diferente (valor predeterminado = Documentos del usuario).

Usar Microsoft Entra ID permite supervisar el servicio de aprovisionamiento en la nube y recopilar registros en el entorno local. El servicio de aprovisionamiento emite registros para cada usuario que se evaluó como parte del proceso de sincronización. Esos registros se pueden utilizar mediante la interfaz de usuario de Azure Portal, las API y Log Analytics. El host ECMA también genera registros en el entorno local. Muestra cada solicitud de aprovisionamiento que se recibió y la respuesta que se envió a Microsoft Entra ID.

Error en la instalación del agente

  • El error System.ComponentModel.Win32Exception: The specified service already exists indica que el host ECMA anterior se desinstaló incorrectamente. Desinstale la aplicación host. Vaya a los archivos de programa y quite la carpeta del host ECMA. Es posible que desee almacenar el archivo de configuración para la copia de seguridad.

  • El siguiente error indica que no se ha cumplido un requisito previo. Asegúrese de que tiene instalado .NET 4.7.1.

      Method Name : <>c__DisplayClass0_1 : 
      RegisterNotLoadedAssemblies Error during load assembly: System.Management.Automation.resources.dll
      --------- Outer Exception Data ---------
      Message: Could not load file or assembly 'file:///C:\Program Files\Microsoft ECMA2Host\Service\ECMA\System.Management.Automation.resources.dll' or one of its dependencies. The system cannot find the file specified.
    
    

Recibo un error de nombre de dominio de estilo LDAP no válido al intentar configurar el host del conector de ECMA con SQL

De forma predeterminada, el conector genericSQL espera que el nombre de dominio se rellene con el estilo LDAP (cuando el atributo "El nombre de dominio es Anchor" se deja sin activar en la primera página de conectividad). En el mensaje de error Invalid LDAP style DN o Target Site: ValidByLdapStyle, puede ver que el campo DN contiene un nombre principal de usuario (UPN), en lugar del DN con estilo LDAP que el conector espera.

Para resolver este mensaje de error, asegúrese de que Autogenerated (Generado automáticamente) está seleccionado en la página de tipos de objetos al configurar el conector.

Para más información, consulte Acerca de los atributos delimitadores y los nombres distintivos (DN).

Pasos siguientes