共用方式為


Microsoft Entra Connect Sync:Scheduler

本主題描述 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。 它會顯示類似此圖片的內容:

GetSyncScheduler

如果您在執行該 Cmdlet 時看到 “同步指令或 Cmdlet 無法使用”,則表示未載入 PowerShell 模組。 如果您在域控制器或具有高於預設設定的 PowerShell 限制層級的伺服器上執行 Microsoft Entra Connect,就可能發生此問題。 如果您看到此錯誤,請執行 Import-Module ADSync 讓 Cmdlet 可供使用。

  • AllowedSyncCycleInterval。 Microsoft Entra ID 允許的同步處理週期之間的最短時間間隔。 您無法比此設定更頻繁地同步處理,但仍受到支援。
  • 目前EffectiveSyncCycleInterval。 目前生效的排程。 如果已設定 CustomizedSyncInterval,且其頻率不高於 AllowedSyncInterval,則其值相同。 如果您在 1.1.281 之前使用組建,並變更 CustomizedSyncCycleInterval,此變更會在下一個同步處理周期之後生效。 從版本 1.1.281 開始,變更會立即生效。
  • CustomizedSyncCycleInterval。 如果您想要排程器以預設 30 分鐘以外的任何其他頻率執行,請設定此設定。 在上圖中,排程器會設定為每小時執行一次。 如果您將此設定設為小於 AllowedSyncInterval 的值,則會使用後者。
  • NextSyncCyclePolicyType。 Delta 或 Initial。 定義下一次執行是僅處理差異變更,還是需進行完整的匯入和同步。後者也會重新處理任何新的或已變更的規則。
  • NextSyncCycleStartTimeInUTC。 下一次排程器啟動下一個同步處理週期。
  • PurgeRunHistoryInterval。 應該保留時間作業記錄。 您可以在同步處理服務管理員中檢閱這些記錄。 預設值是保留這些記錄 7 天。
  • SyncCycleEnabled。 指出排程器是否在其作業中執行匯入、同步處理和匯出進程。
  • MaintenanceEnabled。 顯示是否已啟用維護程式。 它會更新憑證/金鑰,並清除作業記錄檔。
  • StagingModeEnabled。 顯示是否已啟用 預備模式。 如果啟用此設定,則會隱藏匯出執行,但仍執行匯入和同步處理。
  • SchedulerSuspended。 在升級期間,由 Connect 設定以暫時阻止排程器運行。

您可以使用 Set-ADSyncScheduler來變更其中一些設定。 您可以修改下列參數:

  • 自訂同步週期間隔
  • 下同步週期政策類型
  • PurgeRunHistoryInterval
  • 同步週期已啟用
  • 啟用維護功能

在舊版的 Microsoft Entra Connect 中,isStagingModeEnabled 已在 Set-ADSyncScheduler 中公開。 不支援 設定此屬性。 屬性 SchedulerSuspended 只能由 Connect 修改。 不支援 直接使用PowerShell來設定此專案。

排程器組態會儲存在 Microsoft Entra ID 中。 如果您有預備伺服器,主伺服器上的任何變更也會影響預備伺服器 (IsStagingModeEnabled 除外)。

自訂同步週期間隔

語法: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

執行完整同步處理週期可能非常耗時,請閱讀下一節以瞭解如何優化此程式。

不同組態變更所需的同步步驟

不同的組態變更需要不同的同步步驟,以確保變更已正確套用至所有物件。

  • 新增更多要從來源目錄匯入的物件或屬性(藉由新增/修改同步處理規則)
    • 在該來源目錄的連接器中需要進行完整匯入。
  • 對同步處理規則進行變更
    • 在已變更的同步處理規則生效之前,需要在連接器上進行完整同步處理。
  • 已變更 篩選,因此應該包含不同的物件數目
    • 每個 AD 連接器的專屬連接器上都需要執行完整匯入。 例外是,如果您使用基於屬性的篩選,這些屬性已經匯入到同步引擎中。

自訂同步處理週期會執行適當的差異同步與完整同步步驟的混合

若要避免執行完整同步處理週期,您可以使用下列 Cmdlet 將特定連接器標示為執行完整的步驟。

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

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

Get-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid>

範例:如果您變更了「AD 樹系 A」連接器的同步規則,並且不需要任何新的匯入屬性,則您可以執行下列 Cmdlet 來運行差異同步週期,這同時會對該連接器進行完整同步。

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

Start-ADSyncSyncCycle -PolicyType Delta

範例:如果您變更連接器「AD 樹系 A」的同步處理規則,使其現在需要匯入新的屬性,您將會執行下列 Cmdlet 來運行差異同步迴圈,同時為該連接器執行完整匯入、完整同步處理。

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

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

Start-ADSyncSyncCycle -PolicyType Delta

停止排程器

如果排程器目前正在執行同步處理週期,您可能需要停止它。 例如,如果您啟動安裝精靈,並收到此錯誤:

螢幕快照顯示無法變更設定錯誤訊息。

同步處理週期執行時,您無法進行設定變更。 您可以等到排程器完成程式,但您也可以停止它,以便立即進行變更。 停止目前的週期並不有害,且擱置中的變更會在下次執行時進行處理。

  1. 首先,請告訴排程器使用PowerShell cmdlet Stop-ADSyncSyncCycle停止其目前的迴圈。

  2. 如果您使用 1.1.281 之前的組建,則停止排程器不會停止目前連接器的目前工作。 若要強制連接器停止,請採取下列動作:

    螢幕快照顯示同步處理服務管理員,已選取 [連接器],並醒目提示執行中的連接器,選取了 [停止] 動作。

    • 從 [開始] 功能表啟動 同步處理服務。 移至 連接器,將狀態為 執行的連接器反白顯示,然後從操作中選取 停止

排程器仍在使用中,並會在下次機會時重新開始。

自定義排程器

本節所述的 Cmdlet 僅適用於組建 1.1.130.0 和更新版本。

如果內建排程器無法滿足您的需求,您可以使用 PowerShell 來排程這些連接器。

Invoke-ADSyncRunProfile

您可以透過下列方式啟動連接器的設定檔:

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

Synchronization Service Manager UI中,可以找到用來命名 連接器名稱執行設定檔名稱 的名稱。

叫用執行設定檔

Invoke-ADSyncRunProfile Cmdlet 是同步的,也就是說,在連接器順利完成作業或發生錯誤之前,它不會傳回控制權。

當您排程連接器時,建議以下列順序排程它們:

  1. (完整/增量)從本機目錄匯入,例如 Active Directory
  2. (完整/增量)從 Microsoft Entra 身分識別匯入
  3. (完整/增量)從內部部署目錄(如 Active Directory)進行同步處理
  4. (完整/三角洲)來自Microsoft Entra標識符的同步處理
  5. 匯出至 Microsoft Entra 識別碼
  6. 匯出至內部部署目錄,例如 Active Directory

此順序是內建排程器執行連接器的方式。

Get-ADSyncConnectorRunStatus

您也可以監視同步處理引擎,以查看它是否忙碌或閑置。 如果同步處理引擎閑置且未執行連接器,此 Cmdlet 會傳回空的結果。 如果連接器正在執行,則會傳回連接器的名稱。

Get-ADSyncConnectorRunStatus

連接器執行狀態
在上圖中,第一行來自同步處理引擎閑置的狀態。 執行 Microsoft Entra Connector 時的第二行。

排程器和安裝精靈

如果您啟動安裝精靈,則排程器會暫時暫停。 此行為是因為假設您進行組態變更,而且如果同步處理引擎正在主動執行,則無法套用這些設定。 基於這個理由,請勿讓安裝精靈保持開啟狀態,因為它會停止同步處理引擎執行任何同步處理動作。

後續步驟

深入瞭解 Microsoft Entra Connect Sync 組態。

深入瞭解 整合您的內部部署身分識別與 Microsoft Entra ID