本主题介绍 Microsoft Entra Connect Sync(同步引擎)中的内置计划程序。
此功能是随内部版本 1.1.105.0(于 2016 年 2 月发布)一起推出的。
Microsoft Entra Connect Sync 使用计划程序同步本地目录中发生的更改。 有两个计划程序进程,一个用于密码同步,另一个用于对象/属性同步和维护任务。 本主题涵盖后者。
在早期版本中,对象和属性的计划程序位于同步引擎外部。 它使用 Windows 任务计划程序或单独的 Windows 服务来触发同步进程。 计划程序在同步引擎的内置 1.1 版本中,并允许进行一些自定义。 新的默认同步频率为 30 分钟。
计划程序负责执行两项任务:
同步周期
。 用于导入、同步和导出更改的过程。
维护任务
。 续订用于密码重置和设备注册服务 (DRS) 的密钥和证书。 清除操作日志中的旧条目。
计划程序本身始终运行,但可以将它配置为仅运行其中一个任务或一个任务都不运行。 例如,如果需要运行自己的同步周期过程,则可以在计划程序中禁用此任务,但仍运行维护任务。
默认情况下,每 30 分钟运行一个同步周期。 如果修改了同步周期,则需要确保至少每 7 天运行一个同步周期。
需要自上次增量同步后 7 天内进行增量同步。
需要自上次完全同步完成后 7 天内进行增量同步(紧随完全同步)。
如果未这样做,则可能会导致同步问题,而你需要运行完全同步才能解决该问题。 这也适用于处于暂存模式的服务器。
计划程序配置
若要查看当前配置设置,请转到 PowerShell 并运行
Get-ADSyncScheduler
。 它显示的内容如此图所示:
如果在运行此 cmdlet 时看到“此同步命令或 cmdlet 不可用”,则 PowerShell 模块未加载 。 如果在 PowerShell 限制级别高于默认设置的域控制器或服务器上运行 Microsoft Entra Connect,则可能会发生这种问题。 如果看到此错误,则运行
Import-Module ADSync
可使该 cmdlet 可用。
AllowedSyncCycleInterval
。 Microsoft Entra ID 允许的同步周期间的最短时间间隔。 不能比这一设置更频繁地同步,但仍会支持。
CurrentlyEffectiveSyncCycleInterval
。 当前生效的计划。 如果它不比 AllowedSyncInterval 更频繁,它具有与 CustomizedSyncInterval 相同的值(如果已设置)。 如果使用早于 1.1.281 的版本,且更改了 CustomizedSyncCycleInterval,该更改会在下一个同步周期后生效。 从版本 1.1.281 开始,更改会立即生效。
CustomizedSyncCycleInterval
。 如果希望计划程序以默认 30 分钟以外的任何其他频率运行,则可配置此设置。 在上图中,计划程序已改设为每隔一小时运行一次。 如果此项设置为低于 AllowedSyncInterval 的值,则使用后者。
NextSyncCyclePolicyType
。 Delta 或 Initial。 定义下次运行是只应处理增量更改,还是应执行完全导入和同步。后者还会重新处理任何新的或更改的规则。
NextSyncCycleStartTimeInUTC
。 计划程序启动下一个同步周期的时间。
PurgeRunHistoryInterval
。 操作日志应保留的时间。 可以在 Synchronization Service Manager 中查看这些日志。 默认设置是保留这些日志 7 天。
SyncCycleEnabled
。 指示计划程序是否正在运行导入、同步和导出过程作为其操作的一部分。
MaintenanceEnabled
。 显示是否启用了维护过程。 它会更新证书/密钥,并清除操作日志。
StagingModeEnabled
。 显示是否启用了
暂存模式
。 如果启用此设置,它会取消运行导出,但仍运行导入和同步。
SchedulerSuspended
。 在升级过程中由 Connect 设置,以暂时阻止计划程序运行。
可以使用
Set-ADSyncScheduler
更改上述一些设置。 可以修改以下参数:
CustomizedSyncCycleInterval
NextSyncCyclePolicyType
PurgeRunHistoryInterval
SyncCycleEnabled
MaintenanceEnabled
在早期版本的 Microsoft Entra Connect 中,已在 Set-ADSyncScheduler 中公开 isStagingModeEnabled。
不支持
设置此属性。 属性
SchedulerSuspended
只应通过 Connect 修改。
不支持
直接使用 PowerShell 设置此属性。
计划程序配置存储在 Microsoft Entra ID 中。 如果具有暂存服务器,主服务器上的任何更改还将影响暂存服务器(IsStagingModeEnabled 除外)。
CustomizedSyncCycleInterval
语法:
Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d - 天,HH - 小时,mm - 分钟,ss - 秒
示例:
Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
将计划程序更改为每隔 3 小时运行一次。
示例:
Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
将计划程序更改为每天运行一次。
禁用计划程序
如果需要对配置进行更改,则要禁用计划程序。 例如,
配置筛选
或
更改同步规则
时。
若要禁用计划程序,请运行
Set-ADSyncScheduler -SyncCycleEnabled $false
。
在完成更改后,请不要忘记通过
Set-ADSyncScheduler -SyncCycleEnabled $true
再次启用计划程序。
启动计划程序
默认情况下,计划程序每 30 分钟运行一次。 在某些情况下,可能想要在已计划的周期之间运行同步周期,或者需要运行不同的类型。
增量同步周期
增量同步周期包括以下步骤:
在所有连接器上增量导入
在所有连接器上增量同步
在所有连接器上导出
完全同步周期
完全同步周期包括以下步骤:
在所有连接器上完全导入
在所有连接器上完全同步
在所有连接器上导出
有时可能有必须立即同步的紧急更改,这就是为什么需要手动运行周期的原因。
如果需要手动运行同步周期,则从 PowerShell 运行
Start-ADSyncSyncCycle -PolicyType Delta
。
若要启动完全同步周期,请在 PowerShell 提示符下运行
Start-ADSyncSyncCycle -PolicyType Initial
。
运行完全同步周期可能非常耗时,请阅读下一部分以了解如何优化此过程。
不同配置更改所需的同步步骤
不同的配置更改需要不同的同步步骤,以确保更改正确应用于所有对象。
添加了更多要从源目录导入的对象或属性(通过添加/修改同步规则)