Sincronización de Microsoft Entra Connect: Programador
En este tema se describe el programador incorporado en la sincronización de Microsoft Entra Connect (motor de sincronización).
Esta característica se introdujo con la compilación 1.1.105.0 (publicada en febrero de 2016).
Información general
Microsoft Entra sincronizar los cambios que se producen en el directorio local mediante un programador. Hay dos procesos de programador, uno para la sincronización de contraseñas y otro para la sincronización de objetos o atributos y tareas de mantenimiento. En este tema se trata el último.
En versiones anteriores, el programador de objetos y atributos era externo al motor de sincronización. Usaba el programador de tareas de Windows o un servicio de Windows independiente para desencadenar el proceso de sincronización. En las versiones 1.1 el programador viene integrado con el motor de sincronización y permite alguna personalización. La nueva frecuencia de sincronización predeterminada es de 30 minutos.
El programador es responsable de dos tareas:
- Ciclo de sincronización. El proceso para importar, sincronizar y exportar los cambios.
- Tareas de mantenimiento. Renueve las claves y certificados para el restablecimiento de contraseña y el servicio de registro de dispositivos (DRS). Purgue las entradas antiguas en el registro de operaciones.
El programador en sí, siempre está en ejecución, pero se puede configurar para que ejecute solo una o ninguna de estas tareas. Por ejemplo, si necesita tener su propio proceso de ciclo de sincronización, puede deshabilitar esta tarea en el programador y continuar ejecutando la tarea de mantenimiento.
Importante
Un ciclo de sincronización se ejecuta cada 30 minutos de manera predeterminada. Si ha modificado el ciclo de sincronización, deberá asegurarse de que se ejecute un ciclo de sincronización al menos una vez cada siete días.
- Una sincronización diferencial debe ocurrir en un plazo de siete días desde la última sincronización diferencial.
- Una sincronización diferencial (después de una sincronización completa) tiene que realizarse en un plazo de siete días a partir del momento en que se completó la última sincronización completa.
Si no lo hace, pueden generarse problemas de sincronización que requerirán que ejecute una sincronización completa para resolverlos. Esto también se aplica a los servidores en modo de almacenamiento provisional.
Configuración de Scheduler
Para ver la configuración actual, vaya a PowerShell y ejecute Get-ADSyncScheduler
. Muestra algo parecido a esta imagen:
Si al ejecutar este cmdlet, aparece el error The sync command or cmdlet is not available (El comando de sincronización o el cmdlet no están disponibles), significa que el módulo de PowerShell no está cargado. Este problema puede producirse si ejecuta Microsoft Entra Connect en un controlador de dominio o en un servidor con niveles de restricción de PowerShell más elevados que la configuración predeterminada. Si ve este error, ejecute Import-Module ADSync
para que esté disponible el cmdlet.
- AllowedSyncCycleInterval. El intervalo de tiempo más corto entre ciclos de sincronización permitido por Microsoft Entra ID. No se puede sincronizar con más frecuencia que esta configuración y mantener la compatibilidad.
- CurrentlyEffectiveSyncCycleInterval. La programación en vigor actualmente. Tiene el mismo valor que CustomizedSyncInterval (si está establecido), si no es más frecuente que AllowedSyncInterval. Si usa una compilación anterior a 1.1.281 y cambia CustomizedSyncCycleInterval, esto surte efecto tras el próximo ciclo de sincronización. A partir de la compilación 1.1.281, el cambio surte efecto inmediatamente.
- CustomizedSyncCycleInterval. Si desea que el programador se ejecute con cualquier otra frecuencia distinta a la del valor predeterminado de 30 minutos, configure este valor. En la imagen anterior, el programador se ha establecido para que se ejecute cada hora. Si establece esta configuración en un valor inferior al de AllowedSyncInterval, se utilizará el último.
- NextSyncCyclePolicyType. Diferencial o inicial. Define si la siguiente ejecución debe procesar solo cambios diferenciales, o bien si debería hacer una importación y sincronización completas. En el último caso también vuelve a procesar las reglas nuevas o modificadas.
- NextSyncCycleStartTimeInUTC. La hora en que el programador inicia el siguiente ciclo de sincronización.
- PurgeRunHistoryInterval. El tiempo que deben mantenerse los registros de operación. Estos registros se pueden revisar en Synchronization Service Manager. El valor predeterminado mantener estos registros 7 días.
- SyncCycleEnabled. Indica si el programador está ejecutando los procesos de importación, sincronización y exportación como parte de su funcionamiento.
- MaintenanceEnabled. Muestra si está habilitado el proceso de mantenimiento. Actualiza los certificados y las claves y purga el registro de operaciones.
- StagingModeEnabled. Muestra si el modo provisional está habilitado. Si esta opción está habilitada, suprime la ejecución de las exportaciones, pero ejecuta la importación y la sincronización.
- SchedulerSuspended. Configure Connect durante una actualización para impedir temporalmente que se ejecute el programador.
Puede cambiar algunos de estos valores con Set-ADSyncScheduler
. Se pueden modificar los parámetros siguientes:
- CustomizedSyncCycleInterval
- NextSyncCyclePolicyType
- PurgeRunHistoryInterval
- SyncCycleEnabled
- MaintenanceEnabled
En compilaciones anteriores de Microsoft Entra Connect,isStagingModeEnabled se expuso en Set-ADSyncScheduler. No se puede establecer esta propiedad. La propiedad SchedulerSuspended solo debe modificarse con Connect. No se puede establecer esto con PowerShell directamente.
La configuración del programador se almacena en Microsoft Entra ID. Si tiene un servidor de ensayo, cualquier cambio realizado en el servidor principal también afectará a este servidor (excepto IsStagingModeEnabled).
CustomizedSyncCycleInterval
Sintaxis: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d: días; HH: horas; mm: minutos; ss: segundos
Ejemplo: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
Cambia el programador para ejecutarse cada 3 horas.
Ejemplo: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
Cambia el programador para ejecutarse a diario.
Deshabilitación del programador
Si necesita realizar cambios en la configuración, es conveniente deshabilitar el programador. Por ejemplo, cuando configura el filtrado o realiza cambios en las reglas de sincronización.
Para deshabilitar el programador, ejecute Set-ADSyncScheduler -SyncCycleEnabled $false
.
Una vez realizados los cambios, no olvide volver a habilitar el programador con Set-ADSyncScheduler -SyncCycleEnabled $true
.
Inicio del programador
De forma predeterminada, el programador se ejecuta cada 30 minutos. En algunos casos, es posible que quiera ejecutar un ciclo de sincronización entre los ciclos programados o necesite ejecutar un tipo diferente.
Ciclo de sincronización diferencial
Un ciclo de sincronización diferencial incluye los siguientes pasos:
- Importación diferencial en todos los conectores
- Sincronización diferencial en todos los conectores
- Exportación en todos los conectores
Ciclo de sincronización completo
Un ciclo de sincronización completo incluye los pasos siguientes:
- Importación completa en todos los conectores
- Sincronización completa en todos los conectores
- Exportación en todos los conectores
Es posible que haya un cambio urgente que debe sincronizar inmediatamente, para lo que necesita ejecutar manualmente un ciclo.
Si necesita ejecutar manualmente un ciclo de sincronización, ejecute Start-ADSyncSyncCycle -PolicyType Delta
desde PowerShell.
Para iniciar un ciclo de sincronización completo, ejecute Start-ADSyncSyncCycle -PolicyType Initial
desde un símbolo del sistema de PowerShell.
La ejecución de un ciclo de sincronización completo puede llevar mucho tiempo; lea la siguiente sección para saber cómo optimizar este proceso.
Pasos de sincronización requeridos para diferentes cambios de configuración
Los diferentes cambios de configuración requieren diferentes pasos de sincronización para garantizar que los cambios se aplican correctamente a todos los objetos.
- Se agregaron más objetos o atributos para importar desde un directorio de origen (esto es, agregando o modificando las reglas de sincronización).
- Es necesario realizar una importación completa en el conector de ese directorio de origen.
- Realizó cambios en las reglas de sincronización
- Es necesario realizar una sincronización completa en el conector para las reglas de sincronización cambiadas.
- Cambió el filtrado para que se incluya un número diferente de objetos
- Es necesario realizar una importación completa en el conector para cada conector de AD, A MENOS que esté usando una operación de filtrado basada en atributos que ya se están importando en el motor de sincronización.
La personalización de un ciclo de sincronización ejecuta la combinación correcta de pasos de sincronización diferencial y completa.
Para evitar ejecutar un ciclo de sincronización completo, puede marcar conectores específicos para que ejecuten un paso completo mediante los siguientes cmdlets.
Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullImportRequired $true
Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullSyncRequired $true
Get-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid>
Ejemplo: Si realizó cambios en las reglas de sincronización del conector "AD Forest A" que no requieren la importación de nuevos atributos, puede ejecutar los siguientes cmdlets para ejecutar un ciclo de sincronización diferencial en el cual también se realizó un paso de sincronización completa para ese conector.
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true
Start-ADSyncSyncCycle -PolicyType Delta
Ejemplo: Si realizó cambios en las reglas de sincronización del conector "AD Forest A" y ahora es necesario importar nuevos atributos, puede ejecutar los siguientes cmdlets para ejecutar un ciclo de sincronización diferencial en el cual también se realizó un paso de sincronización e importación completa para ese conector.
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullImportRequired $true
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true
Start-ADSyncSyncCycle -PolicyType Delta
Detención del programador
Si el programador está ejecutando actualmente un ciclo de sincronización, puede que necesite detenerlo. Por ejemplo, si inicia el Asistente para instalación y recibe este error:
Cuando se está ejecutando un ciclo de sincronización, no puede realizar cambios de configuración. Debe esperar hasta que el programador haya terminado el proceso, pero también es posible detenerlo para poder realizar los cambios inmediatamente. Detener el ciclo actual no es perjudicial y los cambios pendientes se procesarán en la próxima ejecución.
Para empezar, indique al programador que detenga el ciclo actual con el cmdlet
Stop-ADSyncSyncCycle
de PowerShell.Si usa una compilación anterior a 1.1.281, detener el programador no hará que este conector detenga su tarea actual. Para forzar el conector a que se detenga, tome las medidas siguientes:
- Inicie el Servicio de sincronización desde el menú Inicio. Vaya a Conectores, resalte el conector con el estado En ejecución y seleccione Detener en la lista de acciones.
El programador todavía permanece activo y se inicia de nuevo en la siguiente oportunidad.
Programador personalizado
Los cmdlets que se documentan en esta sección solo están disponibles en la compilación 1.1.130.0 y versiones posteriores.
Si el programador integrado no cumple con sus requisitos, puede programar los conectores con PowerShell.
Invoke-ADSyncRunProfile
Puede iniciar un perfil para un conector de esta manera:
Invoke-ADSyncRunProfile -ConnectorName "name of connector" -RunProfileName "name of profile"
Los nombres para utilizar como nombres de conectores y nombres de perfil de ejecución pueden encontrarse en la interfaz de usuario de Synchronization Service Manager.
El cmdlet Invoke-ADSyncRunProfile
es sincrónico; es decir, no devuelve el control hasta que el conector ha completado la operación, ya sea correcta o incorrectamente.
Al programar los conectores, se recomienda hacerlo en el siguiente orden:
- (Diferencial y completo) Importar desde directorios locales, como Active Directory
- (Full/Delta) Importar desde Microsoft Entra ID
- (Diferencial y completo) Sincronización desde directorios locales, como Active Directory
- (Full/Delta) Sincronización de Microsoft Entra ID
- Exportar a Microsoft Entra ID
- Exportar a los directorios locales, como Active Directory
Este orden es en el que el programador integrado ejecuta los conectores.
Get-ADSyncConnectorRunStatus
También puede supervisar el motor de sincronización para ver si está ocupado o inactivo. Este cmdlet devuelve un resultado vacío si el motor de sincronización está inactivo y no está ejecutando ningún conector. Si se está ejecutando un conector, devuelve el nombre del conector.
Get-ADSyncConnectorRunStatus
En la ilustración anterior, la primera línea refleja un estado donde el motor de sincronización está inactivo. La segunda línea es de cuando se ejecuta el conector de Microsoft Entra.
Scheduler y Asistente para instalación
Si inicia el Asistente para instalación, el programador se suspende temporalmente. Este comportamiento es debido a que se supone que realizará cambios en la configuración y estos cambios no se pueden aplicar si el motor de sincronización se está ejecutando activamente. Por este motivo, no deje el Asistente para instalación abierto, ya que impide que el motor de sincronización realizar ninguna acción.
Pasos siguientes
Más información sobre la configuración de la sincronización de Microsoft Entra Connect.
Más información sobre la Integración de las identidades locales con Microsoft Entra ID.