Synchronisation d’Azure AD Connect : SchedulerAzure AD Connect sync: Scheduler

Cette rubrique décrit le planificateur intégré dans Azure AD Connect Sync (moteur de synchronisation).This topic describes the built-in scheduler in Azure AD Connect sync (sync engine).

Cette fonctionnalité a été introduite avec la version 1.1.105.0 (publiée en février 2016).This feature was introduced with build 1.1.105.0 (released February 2016).

Vue d’ensembleOverview

La synchronisation Azure AD Connect synchronise les modifications dans votre répertoire local à l’aide d’un planificateur.Azure AD Connect sync synchronize changes occurring in your on-premises directory using a scheduler. Il existe deux processus de planificateur, l’un pour la synchronisation de mot de passe et l’autre pour la synchronisation d’attribut/d’objet, ainsi que des tâches de maintenance.There are two scheduler processes, one for password sync and another for object/attribute sync and maintenance tasks. Cette rubrique couvre ce dernier.This topic covers the latter.

Dans les versions antérieures, le planificateur utilisé pour les objets et attributs était externe au moteur de synchronisation.In earlier releases, the scheduler for objects and attributes was external to the sync engine. Il utilisait le Planificateur de tâches Windows ou un service Windows distinct pour déclencher le processus de synchronisation.It used Windows task scheduler or a separate Windows service to trigger the synchronization process. Le planificateur de la version 1.1 est intégré au moteur de synchronisation et permet de personnaliser certains aspects.The scheduler is with the 1.1 releases built-in to the sync engine and do allow some customization. La nouvelle valeur de la fréquence de synchronisation par défaut est de 30 minutes.The new default synchronization frequency is 30 minutes.

Le planificateur supervise deux tâches :The scheduler is responsible for two tasks:

  • Cycle de synchronisation.Synchronization cycle. Processus d’importation, de synchronisation et d’exportation des modifications.The process to import, sync, and export changes.
  • Tâches de maintenance.Maintenance tasks. Renouvelle les clés et les certificats pour la réinitialisation de mot de passe et le service DRS (Device Registration Service).Renew keys and certificates for Password reset and Device Registration Service (DRS). Vide les anciennes entrées dans le journal des opérations.Purge old entries in the operations log.

Le planificateur est toujours en cours d’exécution, mais il peut être configuré pour exécuter uniquement une tâche, ou bien aucune tâche.The scheduler itself is always running, but it can be configured to only run one or none of these tasks. Par exemple, si vous avez besoin d’avoir votre propre processus de cycle de synchronisation, vous pouvez désactiver cette tâche dans le planificateur, mais toujours exécuter la tâche de maintenance.For example, if you need to have your own synchronization cycle process, you can disable this task in the scheduler but still run the maintenance task.

Configuration du planificateurScheduler configuration

Pour afficher vos paramètres de configuration en cours, accédez à PowerShell et exécutez Get-ADSyncScheduler.To see your current configuration settings, go to PowerShell and run Get-ADSyncScheduler. Vous obtenez un écran semblable à celui-ci :It shows you something like this picture:

GetSyncScheduler

Si le message La commande de synchronisation ou l’applet de commande n’est pas disponible apparaît lorsque vous exécutez cette applet de commande, le module PowerShell n'est pas chargé.If you see The sync command or cmdlet is not available when you run this cmdlet, then the PowerShell module is not loaded. Ce problème peut se produire si vous exécutez Azure AD Connect sur un contrôleur de domaine ou sur un serveur avec des niveaux de restriction PowerShell plus élevés que les paramètres par défaut.This problem could happen if you run Azure AD Connect on a domain controller or on a server with higher PowerShell restriction levels than the default settings. Si vous recevez cette erreur, exécutez Import-Module ADSync pour libérer l’applet de commande.If you see this error, then run Import-Module ADSync to make the cmdlet available.

  • AllowedSyncCycleInterval.AllowedSyncCycleInterval. L’intervalle de temps le plus court entre les cycles de synchronisation autorisé par Azure AD.The shortest time interval between synchronization cycles allowed by Azure AD. Vous ne pouvez pas synchroniser plus fréquemment que ne le spécifie ce paramètre tout en maintenant la prise en charge.You cannot synchronize more frequently than this setting and still be supported.
  • CurrentlyEffectiveSyncCycleInterval.CurrentlyEffectiveSyncCycleInterval. Planificateur actuellement en vigueur.The schedule currently in effect. La valeur est identique à celle de CustomizedSyncInterval (si ce paramètre est défini) si la fréquence n’est pas supérieure à AllowedSyncInterval.It has the same value as CustomizedSyncInterval (if set) if it is not more frequent than AllowedSyncInterval. Si vous utilisez une version antérieure à 1.1.281 et que vous modifiez CustomizedSyncCycleInterval, cette modification prendra effet après le prochain cycle de synchronisation.If you use a build before 1.1.281 and you change CustomizedSyncCycleInterval, this change takes effect after next synchronization cycle. À partir de la version 1.1.281, la modification prend effet immédiatement.From build 1.1.281 the change takes effect immediately.
  • CustomizedSyncCycleInterval.CustomizedSyncCycleInterval. Si vous souhaitez que le planificateur s’exécute à une fréquence autre que celle par défaut de 30 minutes, vous devez configurer ce paramètre.If you want the scheduler to run at any other frequency than the default 30 minutes, then you configure this setting. Dans l’image ci-dessus, le planificateur a été défini pour s’exécuter toutes les heures.In the picture above, the scheduler has been set to run every hour instead. Si vous choisissez une valeur inférieure à AllowedSyncInterval, ce dernier sera utilisé.If you set this setting to a value lower than AllowedSyncInterval, then the latter is used.
  • NextSyncCyclePolicyType.NextSyncCyclePolicyType. Delta ou Initial.Either Delta or Initial. Indique si la prochaine exécution doit uniquement traiter les modifications delta du processus ou si elle doit effectuer une importation et une synchronisation intégrales, ce qui aura pour effet de retraiter les nouvelles règles ou les règles modifiées.Defines if the next run should only process delta changes, or if the next run should do a full import and sync. The latter would also reprocess any new or changed rules.
  • NextSyncCycleStartTimeInUTC.NextSyncCycleStartTimeInUTC. Heure à laquelle le planificateur démarrera le prochain cycle de synchronisation.Next time the scheduler starts the next sync cycle.
  • PurgeRunHistoryInterval.PurgeRunHistoryInterval. Durée pendant laquelle les journaux d’activité des opérations doivent être conservés.The time operation logs should be kept. Ces journaux d’activité peuvent être consultés dans Synchronization Service Manager.These logs can be reviewed in the synchronization service manager. La valeur de conservation des journaux d’activité par défaut est de 7 jours.The default is to keep these logs for 7 days.
  • SyncCycleEnabled.SyncCycleEnabled. Indique si le planificateur exécute les processus d’importation, de synchronisation et d’exportation dans le cadre de son fonctionnement.Indicates if the scheduler is running the import, sync, and export processes as part of its operation.
  • MaintenanceEnabled.MaintenanceEnabled. Indique si le processus de maintenance est activé.Shows if the maintenance process is enabled. Met à jour les certificats/clés et vide le journal des opérations.It updates the certificates/keys and purges the operations log.
  • StagingModeEnabled.StagingModeEnabled. Indique si le mode intermédiaire est activé.Shows if staging mode is enabled. Si ce paramètre est activé, les exportations ne sont plus exécutées. Cependant, l’importation et la synchronisation sont toujours exécutées.If this setting is enabled, then it suppresses the exports from running but still run import and synchronization.
  • SchedulerSuspended.SchedulerSuspended. Défini par Connect pendant une mise à niveau pour bloquer temporairement le l’exécution du planificateur.Set by Connect during an upgrade to temporarily block the scheduler from running.

Vous pouvez modifier certains de ces paramètres avec Set-ADSyncScheduler.You can change some of these settings with Set-ADSyncScheduler. Les paramètres suivants peuvent être modifiés :The following parameters can be modified:

  • CustomizedSyncCycleIntervalCustomizedSyncCycleInterval
  • NextSyncCyclePolicyTypeNextSyncCyclePolicyType
  • PurgeRunHistoryIntervalPurgeRunHistoryInterval
  • SyncCycleEnabledSyncCycleEnabled
  • MaintenanceEnabledMaintenanceEnabled

Dans les versions antérieures d’Azure AD Connect, isStagingModeEnabled était exposé dans Set-ADSyncScheduler.In earlier builds of Azure AD Connect, isStagingModeEnabled was exposed in Set-ADSyncScheduler. Elle n’est pas prise en charge pour la définition de cette propriété.It is unsupported to set this property. La propriété SchedulerSuspended doit uniquement être modifiée par Connect.The property SchedulerSuspended should only be modified by Connect. Elle n’est pas prise en charge pour la définition avec PowerShell directement.It is unsupported to set this with PowerShell directly.

La configuration du planificateur est stockée dans Azure AD.The scheduler configuration is stored in Azure AD. Si vous avez un serveur intermédiaire, toute modification sur le serveur principal a également un effet sur le serveur intermédiaire (à l’exception de IsStagingModeEnabled).If you have a staging server, any change on the primary server also affects the staging server (except IsStagingModeEnabled).

CustomizedSyncCycleIntervalCustomizedSyncCycleInterval

Syntaxe : Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ssSyntax: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d - jours, HH - heures, mm - minutes, ss - secondesd - days, HH - hours, mm - minutes, ss - seconds

Exemple : Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
Modifie le planificateur pour qu’il s’exécute toutes les 3 heures.Changes the scheduler to run every 3 hours.

Exemple : Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
Modifie le planificateur pour qu’il s’exécute tous les jours.Changes change the scheduler to run daily.

Désactivation du planificateurDisable the scheduler

Si vous devez apporter des modifications de configuration, vous devez désactiver le planificateur.If you need to make configuration changes, then you want to disable the scheduler. Par exemple, lorsque vous configurez le filtrage ou apportez des modifications aux règles de synchronisation.For example, when you configure filtering or make changes to synchronization rules.

Exécutez Set-ADSyncScheduler -SyncCycleEnabled $false pour désactiver le planificateur.To disable the scheduler, run Set-ADSyncScheduler -SyncCycleEnabled $false.

Désactivation du planificateur

Une fois vos modifications apportées, n’oubliez pas d’activer de nouveau le planificateur en exécutant Set-ADSyncScheduler -SyncCycleEnabled $true.When you've made your changes, do not forget to enable the scheduler again with Set-ADSyncScheduler -SyncCycleEnabled $true.

Démarrer le planificateurStart the scheduler

Par défaut, le planificateur s’exécute toutes les 30 minutes.The scheduler is by default run every 30 minutes. Dans certains cas, vous souhaiterez peut-être exécuter un cycle de synchronisation entre les cycles planifiés ou vous devrez exécuter un autre type de synchronisation.In some cases, you might want to run a sync cycle in between the scheduled cycles or you need to run a different type.

Cycle de synchronisation deltaDelta sync cycle

Un cycle de synchronisation delta comprend les étapes suivantes :A delta sync cycle includes the following steps:

  • Importation delta sur tous les connecteursDelta import on all Connectors
  • Synchronisation delta sur tous les connecteursDelta sync on all Connectors
  • Exportation sur tous les connecteursExport on all Connectors

Cycle de synchronisation complèteFull sync cycle

Un cycle de synchronisation complète comprend les étapes suivantes :A full sync cycle includes the following steps:

  • Importation complète sur tous les connecteursFull Import on all Connectors
  • Synchronisation complète sur tous les connecteursFull Sync on all Connectors
  • Exportation sur tous les connecteursExport on all Connectors

Cela peut indiquer une modification urgente à synchroniser immédiatement, nécessitant l’exécution manuelle d’un cycle.It could be that you have an urgent change that must be synchronized immediately, which is why you need to manually run a cycle.

Si nécessaire, vous pouvez exécuter manuellement un cycle de synchronisation en exécutant Start-ADSyncSyncCycle -PolicyType Delta à partir de PowerShell.If you need to manually run a sync cycle, then from PowerShell run Start-ADSyncSyncCycle -PolicyType Delta.

Pour initier un cycle de synchronisation complète, exécutez Start-ADSyncSyncCycle -PolicyType Initial à partir d’une invite PowerShell.To initiate a full sync cycle, run Start-ADSyncSyncCycle -PolicyType Initial from a PowerShell prompt.

L'exécution d'un cycle de synchronisation complète peut prendre beaucoup de temps. Reportez-vous à la section suivante pour savoir comment optimiser ce processus.Running a full sync cycle can be very time consuming, read the next section to read how to optimize this process.

Étapes de synchronisation requises en fonction des modifications apportées à la configurationSync steps required for different configuration changes

Selon les modifications apportées à la configuration, différentes étapes de synchronisation sont nécessaires pour veiller à ce que les modifications soient correctement appliquées à tous les objets.Different configuration changes require different sync steps to ensure the changes are correctly applied to all objects.

  • Ajout de plusieurs objets ou attributs à importer à partir d'un répertoire source (en ajoutant/modifiant des règles de synchronisation)Added more objects or attributes to be imported from a source directory (by adding/modifying the sync rules)
    • Une importation complète est requise sur le connecteur pour ce répertoire sourceA Full Import is required on the Connector for that source directory
  • Modifications apportées aux règles de synchronisationMade changes to the Synchronization rules
    • Une synchronisation complète est requise sur le connecteur pour les règles de synchronisation modifiéesA Full Sync is required on the Connector for the changed Synchronization rules
  • Le filtrage étant modifié, un nombre différent d’objets doit être inclusChanged filtering so a different number of objects should be included
    • Une importation complète est requise sur le connecteur pour chaque connecteur AD, SAUF si vous utilisez un filtrage basé sur les attributs déjà importés dans le moteur de synchronisationA Full Import is required on the Connector for each AD Connector UNLESS you are using Attribute-based filtering based on attributes that are already being imported into the sync engine

La personnalisation d'un cycle de synchronisation exécute la bonne combinaison d'étapes de synchronisation delta et de synchronisation complèteCustomizing a sync cycle run the right mix of Delta and Full sync steps

Pour éviter d'exécuter un cycle de synchronisation complète, vous pouvez indiquer à certains connecteurs d'exécuter une étape Complète à l'aide des cmdlets suivantes.To avoid running a full sync cycle you can mark specific Connectors to run a Full step using the following cmdlets.

Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullImportRequired $true

Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullSyncRequired $true

Get-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid>

Exemple : Si vous avez apporté des modifications aux règles de synchronisation du connecteur « Forêt AD A » et qu'il n'est pas nécessaire d'importer de nouveaux attributs, utilisez les cmdlets suivantes pour exécuter un cycle de synchronisation delta ayant également suivi une étape Synchronisation complète pour ce connecteur.Example: If you made changes to the synchronization rules for Connector “AD Forest A” that don’t require any new attributes to be imported you would run the following cmdlets to run a delta sync cycle which also did a Full Sync step for that Connector.

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true

Start-ADSyncSyncCycle -PolicyType Delta

Exemple : Si vous avez apporté des modifications aux règles de synchronisation du connecteur « Forêt AD A » et qu'il est désormais nécessaire d'importer un nouvel attribut, utilisez les cmdlets suivantes pour exécuter un cycle de synchronisation delta ayant également suivi une étape Importation complète, Synchronisation complète pour ce connecteur.Example: If you made changes to the synchronization rules for Connector “AD Forest A” so that they now require a new attribute to be imported you would run the following cmdlets to run a delta sync cycle which also did a Full Import, Full Sync step for that Connector.

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullImportRequired $true

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true

Start-ADSyncSyncCycle -PolicyType Delta

Arrêter le planificateurStop the scheduler

Si le planificateur exécute un cycle de synchronisation, vous devrez l’arrêter.If the scheduler is currently running a synchronization cycle, you might need to stop it. Par exemple, si vous démarrez l’Assistant d’installation et que vous obtenez l’erreur suivante :For example if you start the installation wizard and you get this error:

SyncCycleRunningError

Lorsqu’un cycle de synchronisation est en cours d’exécution, vous ne pouvez pas modifier la configuration.When a sync cycle is running, you cannot make configuration changes. Vous pouvez attendre jusqu’à ce que le planificateur ait terminé le processus, mais vous pouvez également l’arrêter afin d’implémenter immédiatement vos modifications.You could wait until the scheduler has finished the process, but you can also stop it so you can make your changes immediately. L’arrêt du cycle en cours n’est pas dangereux, et les modifications en attente seront traitées à la prochaine exécution.Stopping the current cycle is not harmful and pending changes are processed with next run.

  1. Commencez par indiquer au planificateur d’arrêter son cycle en cours à l’aide de l’applet de commande PowerShell Stop-ADSyncSyncCycle.Start by telling the scheduler to stop its current cycle with the PowerShell cmdlet Stop-ADSyncSyncCycle.
  2. Si vous utilisez une version antérieure à 1.1.281, l’arrêt du planificateur n’empêche pas le connecteur actuel de terminer sa tâche en cours.If you use a build before 1.1.281, then stopping the scheduler does not stop the current Connector from its current task. Pour forcer le connecteur à s’arrêter, prenez les mesures suivantes : StopAConnectorTo force the Connector to stop, take the following actions: StopAConnector
    • Démarrez le Service de synchronisation depuis le menu Démarrer.Start Synchronization Service from the start menu. Accédez à Connecteurs, mettez en surbrillance le connecteur avec l’état En cours d’exécution et sélectionnez Arrêter dans les actions.Go to Connectors, highlight the Connector with the state Running, and select Stop from the Actions.

Le planificateur est toujours actif et redémarrera à la prochaine occasion.The scheduler is still active and starts again on next opportunity.

Planificateur personnaliséCustom scheduler

Les applets de commande décrites dans cette section sont uniquement disponibles dans le build 1.1.130.0 et versions ultérieures.The cmdlets documented in this section are only available in build 1.1.130.0 and later.

Si le planificateur intégré ne satisfait pas à vos exigences, vous pouvez planifier les connecteurs à l'aide de PowerShell.If the built-in scheduler does not satisfy your requirements, then you can schedule the Connectors using PowerShell.

Invoke-ADSyncRunProfileInvoke-ADSyncRunProfile

Vous pouvez démarrer un profil pour un connecteur de cette façon :You can start a profile for a Connector in this way:

Invoke-ADSyncRunProfile -ConnectorName "name of connector" -RunProfileName "name of profile"

Les noms à utiliser pour Noms de connecteur et Exécuter les noms de profil se trouvent dans l’interface utilisateur Synchronization Service Manager.The names to use for Connector names and Run Profile Names can be found in the Synchronization Service Manager UI.

Appeler le profil d’exécution

L’applet de commande Invoke-ADSyncRunProfile est synchrone, c’est-à-dire qu’elle ne retournera pas de contrôle avant que le connecteur ait terminé l’opération, avec succès ou avec une erreur.The Invoke-ADSyncRunProfile cmdlet is synchronous, that is, it does not return control until the Connector has completed the operation, either successfully or with an error.

Lorsque vous planifiez vos connecteurs, il est recommandé de le faire dans l'ordre suivant :When you schedule your Connectors, the recommendation is to schedule them in the following order:

  1. (Intégral/Delta) Importation à partir de répertoires locaux, tels qu'Active Directory(Full/Delta) Import from on-premises directories, such as Active Directory
  2. (Intégral/Delta) Importation à partir d'Azure AD(Full/Delta) Import from Azure AD
  3. (Intégral/Delta) Synchronisation à partir de répertoires locaux, tels qu'Active Directory(Full/Delta) Synchronization from on-premises directories, such as Active Directory
  4. (Intégral/Delta) Synchronisation à partir d'Azure AD(Full/Delta) Synchronization from Azure AD
  5. Exportation vers Azure ADExport to Azure AD
  6. Exportation vers des répertoires locaux, tels qu'Active DirectoryExport to on-premises directories, such as Active Directory

Il s’agit de l’ordre dans lequel le planificateur intégré exécute les connecteurs.This order is how the built-in scheduler runs the Connectors.

Get-ADSyncConnectorRunStatusGet-ADSyncConnectorRunStatus

Vous pouvez également surveiller le moteur de synchronisation pour voir s'il est occupé ou inactif.You can also monitor the sync engine to see if it is busy or idle. Cette applet de commande renvoie un résultat vide si le moteur de synchronisation est inactif et qu’il n’exécute pas un connecteur.This cmdlet returns an empty result if the sync engine is idle and is not running a Connector. Si un connecteur est en cours d’exécution, il retourne le nom du connecteur.If a Connector is running, it returns the name of the Connector.

Get-ADSyncConnectorRunStatus

État d’exécution du connecteur
Dans l'illustration ci-dessus, la première ligne est dans un état où le moteur de synchronisation est inactif.In the picture above, the first line is from a state where the sync engine is idle. La deuxième ligne lorsque le Connecteur Azure AD est en cours d'exécution.The second line from when the Azure AD Connector is running.

Planificateur et Assistant d’installationScheduler and installation wizard

Si vous démarrez l’Assistant d’installation, le planificateur est temporairement interrompu.If you start the installation wizard, then the scheduler is temporarily suspended. Ce comportement repose sur l’hypothèse que vous apportez des modifications de configuration et le fait que ces paramètres ne peuvent pas être appliqués si le moteur de synchronisation s’exécute activement.This behavior is because it is assumed you make configuration changes and these settings cannot be applied if the sync engine is actively running. Pour cette raison, ne laissez pas l’Assistant d’installation ouvert, car il empêche le moteur de synchronisation d’effectuer toutes les actions de synchronisation.For this reason, do not leave the installation wizard open since it stops the sync engine from performing any synchronization actions.

Étapes suivantesNext steps

En savoir plus sur la configuration de la synchronisation Azure AD Connect .Learn more about the Azure AD Connect sync configuration.

En savoir plus sur l’ intégration de vos identités locales avec Azure Active Directory.Learn more about Integrating your on-premises identities with Azure Active Directory.