Синхронизация Azure AD Connect: ПланировщикAzure AD Connect sync: Scheduler

В этом разделе описывается встроенный планировщик синхронизации Azure AD Connect (модуль синхронизации).This topic describes the built-in scheduler in Azure AD Connect sync (sync engine).

Эта функция появилась в сборке 1.1.105.0 (выпущенной в феврале 2016 года).This feature was introduced with build 1.1.105.0 (released February 2016).

ОбзорOverview

Служба синхронизации Azure AD Connect синхронизирует изменения в вашем локальном каталоге, используя планировщик.Azure AD Connect sync synchronize changes occurring in your on-premises directory using a scheduler. Планировщики выполняют два процесса — один для синхронизации паролей, другой для синхронизации объектов или атрибутов и задач технического обслуживания.There are two scheduler processes, one for password sync and another for object/attribute sync and maintenance tasks. В этом разделе рассматривается второй процесс.This topic covers the latter.

В более ранних версиях планировщик для объектов и атрибутов не входил в модуль синхронизации.In earlier releases, the scheduler for objects and attributes was external to the sync engine. Для запуска процесса синхронизации использовался планировщик заданий Windows или отдельная служба Windows.It used Windows task scheduler or a separate Windows service to trigger the synchronization process. Сейчас в модуль синхронизации встроен планировщик версии 1.1, позволяющий настраивать определенные параметры.The scheduler is with the 1.1 releases built-in to the sync engine and do allow some customization. Новая частота синхронизации по умолчанию — 30 минут.The new default synchronization frequency is 30 minutes.

Планировщик отвечает за выполнение двух задач:The scheduler is responsible for two tasks:

  • Цикл синхронизации.Synchronization cycle. Процесс импорта, синхронизации и экспорта изменений.The process to import, sync, and export changes.
  • Задачи обслуживания.Maintenance tasks. Обновление ключей и сертификатов для сброса паролей и службы регистрации устройств (DRS).Renew keys and certificates for Password reset and Device Registration Service (DRS). Удаление старых записей из журнала операций.Purge old entries in the operations log.

Сам планировщик работает всегда, но может быть настроен на выполнение только одной или ни одной из этих задач.The scheduler itself is always running, but it can be configured to only run one or none of these tasks. Например, чтобы настроить собственный цикл синхронизации, вы можете отключить эту задачу в планировщике — при этом задача обслуживания будет выполняться по-прежнему.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.

Конфигурация планировщикаScheduler configuration

Чтобы увидеть текущие параметры конфигурации, откройте PowerShell и выполните командлет Get-ADSyncScheduler.To see your current configuration settings, go to PowerShell and run Get-ADSyncScheduler. Отобразятся данные примерно следующего вида:It shows you something like this picture:

GetSyncScheduler

Если при запуске этого командлета отображается сообщение The sync command or cmdlet is not available (Команда синхронизации или командлет недоступны), то модуль PowerShell не загружается.If you see The sync command or cmdlet is not available when you run this cmdlet, then the PowerShell module is not loaded. Эта проблема может произойти при запуске Azure AD Connect на контроллере домена или на сервере с более высокими уровнями ограничений PowerShell, чем предусмотрено параметрами по умолчанию.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. Если отображается это сообщение об ошибке, выполните команду Import-Module ADSync , чтобы сделать командлет доступным.If you see this error, then run Import-Module ADSync to make the cmdlet available.

  • AllowedSyncCycleInterval.AllowedSyncCycleInterval. Самый короткий интервал времени между циклами синхронизации, разрешенный Azure AD.The shortest time interval between synchronization cycles allowed by Azure AD. Более частная синхронизация не поддерживается.You cannot synchronize more frequently than this setting and still be supported.
  • CurrentlyEffectiveSyncCycleInterval.CurrentlyEffectiveSyncCycleInterval. Действующее на данный момент расписание.The schedule currently in effect. Если значение этого параметра не совпадает с параметром AllowedSyncInterval, оно будет таким же, как у параметра CustomizedSyncInterval (если он задан).It has the same value as CustomizedSyncInterval (if set) if it is not more frequent than AllowedSyncInterval. При использовании сборки до версии 1.1.281 изменения параметра CustomizedSyncCycleInterval вступают в силу после следующего цикла синхронизации.If you use a build before 1.1.281 and you change CustomizedSyncCycleInterval, this change takes effect after next synchronization cycle. Начиная со сборки версии 1.1.281 изменение вступает в силу немедленно.From build 1.1.281 the change takes effect immediately.
  • CustomizedSyncCycleInterval.CustomizedSyncCycleInterval. Этот параметр позволяет настроить планировщик таким образом, чтобы синхронизация выполнялась чаще или реже, чем каждые 30 минут.If you want the scheduler to run at any other frequency than the default 30 minutes, then you configure this setting. На представленном выше снимке экрана планировщик настроен на ежечасное выполнение.In the picture above, the scheduler has been set to run every hour instead. Если значение этого параметра меньше, чем значение параметра AllowedSyncInterval, то используется последний.If you set this setting to a value lower than AllowedSyncInterval, then the latter is used.
  • NextSyncCyclePolicyType.NextSyncCyclePolicyType. Изменение или исходное значение.Either Delta or Initial. Определяет, что будет происходить при следующем выполнении: только обработка изменений или полный импорт и синхронизация. Второй вариант также подразумевает повторную обработку всех новых и измененных правил.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. Время начала следующего цикла синхронизации.Next time the scheduler starts the next sync cycle.
  • PurgeRunHistoryInterval.PurgeRunHistoryInterval. Срок хранения журналов операций.The time operation logs should be kept. Проверить эти журналы можно в Synchronization Service Manager.These logs can be reviewed in the synchronization service manager. По умолчанию они хранятся в течение 7 дней.The default is to keep these logs for 7 days.
  • SyncCycleEnabled.SyncCycleEnabled. Указывает, если в рамках своей работы планировщик выполняется процессы импорта, синхронизации и экспорта.Indicates if the scheduler is running the import, sync, and export processes as part of its operation.
  • MaintenanceEnabled.MaintenanceEnabled. Показывает, включен ли процесс обслуживания.Shows if the maintenance process is enabled. Обновляет сертификаты и ключи и очищает журнал операций.It updates the certificates/keys and purges the operations log.
  • StagingModeEnabled.StagingModeEnabled. Показано, включен ли промежуточный режим .Shows if staging mode is enabled. Если включить этот параметр, то операции экспорта не будут выполняться, но по-прежнему будут выполняться операции импорта и синхронизации.If this setting is enabled, then it suppresses the exports from running but still run import and synchronization.
  • SchedulerSuspended.SchedulerSuspended. Задается службой Connect во время обновления, чтобы временно блокировать выполнение планировщика.Set by Connect during an upgrade to temporarily block the scheduler from running.

Некоторые из этих параметров можно изменить с помощью Set-ADSyncScheduler.You can change some of these settings with Set-ADSyncScheduler. Можно изменить следующие параметры.The following parameters can be modified:

  • CustomizedSyncCycleIntervalCustomizedSyncCycleInterval
  • NextSyncCyclePolicyTypeNextSyncCyclePolicyType
  • PurgeRunHistoryIntervalPurgeRunHistoryInterval
  • SyncCycleEnabledSyncCycleEnabled
  • MaintenanceEnabledMaintenanceEnabled

В предыдущих сборках Azure AD Connect параметр isStagingModeEnabled предоставлялся в командлете Set-ADSyncScheduler.In earlier builds of Azure AD Connect, isStagingModeEnabled was exposed in Set-ADSyncScheduler. Установка этого свойства не поддерживается.It is unsupported to set this property. Свойство SchedulerSuspended следует изменять только с помощью Connect.The property SchedulerSuspended should only be modified by Connect. Установка этого свойства напрямую через PowerShell не поддерживается.It is unsupported to set this with PowerShell directly.

Конфигурация планировщика хранится в Azure AD.The scheduler configuration is stored in Azure AD. Если используется промежуточный сервер, то любые изменения на сервере-источнике также отражаются на промежуточном сервере (кроме IsStagingModeEnabled).If you have a staging server, any change on the primary server also affects the staging server (except IsStagingModeEnabled).

CustomizedSyncCycleIntervalCustomizedSyncCycleInterval

Синтаксис: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ssSyntax: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d — дни, HH — часы, mm — минуты, ss — секунды.d - days, HH - hours, mm - minutes, ss - seconds

Пример: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
Планировщик будет запускаться каждые 3 часа.Changes the scheduler to run every 3 hours.

Пример: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
Планировщик будет запускаться один раз в день.Changes change the scheduler to run daily.

Отключение планировщикаDisable the scheduler

Если в конфигурацию необходимо внести изменения, то следует отключить планировщик.If you need to make configuration changes, then you want to disable the scheduler. Например, чтобы настроить фильтрацию или внести изменения в правила синхронизации.For example, when you configure filtering or make changes to synchronization rules.

Чтобы отключить планировщик, запустите Set-ADSyncScheduler -SyncCycleEnabled $false.To disable the scheduler, run Set-ADSyncScheduler -SyncCycleEnabled $false.

Отключение планировщика

После внесения изменений не забудьте снова включить планировщик с помощью Set-ADSyncScheduler -SyncCycleEnabled $true.When you've made your changes, do not forget to enable the scheduler again with Set-ADSyncScheduler -SyncCycleEnabled $true.

Запуск планировщикаStart the scheduler

По умолчанию планировщик запускается каждые 30 минут.The scheduler is by default run every 30 minutes. В некоторых случаях может потребоваться внеплановое выполнение цикла синхронизации или синхронизация другого типа.In some cases, you might want to run a sync cycle in between the scheduled cycles or you need to run a different type.

Цикл синхронизации измененийDelta sync cycle

Цикл синхронизации изменений включает следующие этапы:A delta sync cycle includes the following steps:

  • Импорт изменений во всех соединителяхDelta import on all Connectors
  • Синхронизация изменений во всех соединителяхDelta sync on all Connectors
  • Экспорт во всех соединителяхExport on all Connectors

Цикл полной синхронизацииFull sync cycle

Цикл полной синхронизации включает следующие этапы:A full sync cycle includes the following steps:

  • Полный импорт во всех соединителяхFull Import on all Connectors
  • Полная синхронизация во всех соединителяхFull Sync on all Connectors
  • Экспорт во всех соединителяхExport on all Connectors

Если вам необходимо срочно синхронизировать какое-то изменение, цикл синхронизации можно запустить вручную.It could be that you have an urgent change that must be synchronized immediately, which is why you need to manually run a cycle.

Если вам нужно вручную запустить цикл синхронизации, затем из выполнения PowerShell Start-ADSyncSyncCycle -PolicyType Delta.If you need to manually run a sync cycle, then from PowerShell run Start-ADSyncSyncCycle -PolicyType Delta.

Чтобы запустить цикл полной синхронизации, в командной строке PowerShell выполните командлет Start-ADSyncSyncCycle -PolicyType Initial .To initiate a full sync cycle, run Start-ADSyncSyncCycle -PolicyType Initial from a PowerShell prompt.

Под управлением цикл полной синхронизации может занять очень много времени, в следующем разделе для чтения способы оптимизации этого процесса.Running a full sync cycle can be very time consuming, read the next section to read how to optimize this process.

Синхронизировать действия, необходимые для изменения конфигурацииSync steps required for different configuration changes

Изменения конфигурации требуют действия синхронизации, чтобы убедиться, что изменения правильно применяются ко всем объектам.Different configuration changes require different sync steps to ensure the changes are correctly applied to all objects.

  • Добавление объектов или атрибутов для импорта из исходного каталога (путем добавления или изменения правила синхронизации)Added more objects or attributes to be imported from a source directory (by adding/modifying the sync rules)
    • Требуется полный импорт в соединителе для этого каталога источникаA Full Import is required on the Connector for that source directory
  • Изменения в правилах синхронизацииMade changes to the Synchronization rules
    • Требуется полная синхронизация в соединителе для измененного правила синхронизацииA Full Sync is required on the Connector for the changed Synchronization rules
  • Изменение фильтрации, в результате которого изменяется число включаемых объектов.Changed filtering so a different number of objects should be included
    • Полный импорт необходимый для соединителя для каждого соединителя AD только при использовании фильтрации на основе атрибута на основе атрибутов, которые уже импортируется в модуль синхронизацииA 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

Настройка цикл синхронизации, выполните нужные варианты изменений и полный шаги синхронизацииCustomizing a sync cycle run the right mix of Delta and Full sync steps

Чтобы избежать выполнения цикл полной синхронизации можно пометить специальные соединители, чтобы запустить полный шаг, с помощью следующих командлетов.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>

Пример: При внесении изменений в правила синхронизации для соединителя «AD лесу А», не требующих любые новые атрибуты, должны импортироваться необходимо выполнить следующие командлеты для запуска синхронизации изменений цикл также полной синхронизации этап для этого соединителя.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

Пример: При внесении изменений в правила синхронизации для соединителя «AD лесу А» таким образом, теперь требовать новый атрибут должен быть импортирован будет запустите следующие командлеты, чтобы запустить цикл синхронизации изменений, который также был полный импорт, шаг полной синхронизации для этого соединителя.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

Остановка планировщикаStop the scheduler

Бывает, что планировщик необходимо остановить в процессе выполнения цикла синхронизации.If the scheduler is currently running a synchronization cycle, you might need to stop it. Это может потребоваться, например, если вы запустили мастер установки и получили следующую ошибку:For example if you start the installation wizard and you get this error:

SyncCycleRunningError

Пока выполняется цикл синхронизации, вносить изменения в конфигурацию нельзя.When a sync cycle is running, you cannot make configuration changes. Вы можете дождаться, пока планировщик завершит синхронизацию, или остановить его и внести изменения незамедлительно.You could wait until the scheduler has finished the process, but you can also stop it so you can make your changes immediately. Остановка текущего цикла не вредит системе, а внесенные изменения обрабатываются во время следующей синхронизации.Stopping the current cycle is not harmful and pending changes are processed with next run.

  1. Чтобы остановить планировщик во время цикла синхронизации, используйте командлет PowerShell Stop-ADSyncSyncCycle.Start by telling the scheduler to stop its current cycle with the PowerShell cmdlet Stop-ADSyncSyncCycle.
  2. При использовании сборки до версии 1.1.281 остановка планировщика не означает, что действующий соединитель прекратит выполнение своей текущей задачи.If you use a build before 1.1.281, then stopping the scheduler does not stop the current Connector from its current task. Чтобы принудительно остановить соединитель, выполните следующие действия. StopAConnectorTo force the Connector to stop, take the following actions: StopAConnector
    • Запустите Synchronization Service из меню "Пуск".Start Synchronization Service from the start menu. Откройте Соединители, выделите соединитель с состоянием Выполняется и выберите в меню действий команду Остановить.Go to Connectors, highlight the Connector with the state Running, and select Stop from the Actions.

Планировщик останется активным и при первой возможности запустится снова.The scheduler is still active and starts again on next opportunity.

Настраиваемый планировщикCustom scheduler

Командлеты, описанные в этом разделе, доступны только в сборке 1.1.130.0 и более поздних версий.The cmdlets documented in this section are only available in build 1.1.130.0 and later.

Если встроенный планировщик не соответствует вашим требованиям, составить расписание для соединителей можно с помощью PowerShell.If the built-in scheduler does not satisfy your requirements, then you can schedule the Connectors using PowerShell.

Invoke-ADSyncRunProfileInvoke-ADSyncRunProfile

Запустить профиль для соединителя можно таким образом:You can start a profile for a Connector in this way:

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

Имена соединителей и имена профилей выполнения можно найти в пользовательском интерфейсе Synchronization Service Manager.The names to use for Connector names and Run Profile Names can be found in the Synchronization Service Manager UI.

Вызов профиля выполнения

Командлет Invoke-ADSyncRunProfile является синхронным, т. е. он не возвращает управление до тех пор, пока соединитель не завершит операцию, успешно или с ошибкой.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.

При создании расписания для соединителей рекомендуется запланировать их в следующем порядке:When you schedule your Connectors, the recommendation is to schedule them in the following order:

  1. (полная/изменения) импорт из локальных каталогов, например Active Directory;(Full/Delta) Import from on-premises directories, such as Active Directory
  2. (полная/изменения) импорт из Azure AD;(Full/Delta) Import from Azure AD
  3. (полная/изменения) синхронизация из локальных каталогов, например Active Directory;(Full/Delta) Synchronization from on-premises directories, such as Active Directory
  4. (полная/изменения) синхронизация из Azure AD;(Full/Delta) Synchronization from Azure AD
  5. экспорт в Azure AD;Export to Azure AD
  6. экспорт в локальные каталоги, например Active Directory.Export to on-premises directories, such as Active Directory

Этот порядок определяет, в какой последовательности встроенный планировщик запускает соединители.This order is how the built-in scheduler runs the Connectors.

Get-ADSyncConnectorRunStatusGet-ADSyncConnectorRunStatus

Вы также можете отслеживать работу модуля синхронизации (занят или бездействует).You can also monitor the sync engine to see if it is busy or idle. Этот командлет возвращает пустой результат, если модуль синхронизации бездействует и не запускает соединитель.This cmdlet returns an empty result if the sync engine is idle and is not running a Connector. Если соединитель выполняется, то он возвращает имя соединителя.If a Connector is running, it returns the name of the Connector.

Get-ADSyncConnectorRunStatus

Состояние выполнения соединителя
На рисунке выше первая строка — из состояния, в котором модуль синхронизации бездействует.In the picture above, the first line is from a state where the sync engine is idle. Вторая строка — из состояния, в котором соединитель Azure AD выполняется.The second line from when the Azure AD Connector is running.

Планировщик и мастер установкиScheduler and installation wizard

При запуске мастера установки планировщик приостанавливается.If you start the installation wizard, then the scheduler is temporarily suspended. Это связано с тем, что вы можете внести изменения в конфигурацию, а во время активной работы модуля синхронизации их нельзя будет применить.This behavior is because it is assumed you make configuration changes and these settings cannot be applied if the sync engine is actively running. Пока мастер установки открыт, модуль синхронизации не выполняет никаких действий по синхронизации.For this reason, do not leave the installation wizard open since it stops the sync engine from performing any synchronization actions.

Дальнейшие действияNext steps

Узнайте больше о настройке службы синхронизации Azure AD Connect .Learn more about the Azure AD Connect sync configuration.

Узнайте больше об интеграции локальных удостоверений с Azure Active Directory.Learn more about Integrating your on-premises identities with Azure Active Directory.