將您的本地 Active Directory (AD) 域服務與 Azure AD 整合並同步,可使用同步服務管理器 GUI 或透過 PowerShell 進行。
在本文中,有兩種在本地使用 Azure AD 的方式:透過直通認證(將認證請求直接傳送至 Azure AD)或透過目錄同步將密碼雜湊同步在本地 AD 和 Azure AD 之間。在本篇部落格文章中,我們將介紹如何設置 Azure Active Directory Connect 軟體以同步密碼雜湊。
我們將介紹如何設置定期同步以及如何使用 Azure AD Connect 強制進行密碼雜湊同步。
簡單來說,使用 PowerShell 強制 Azure AD 同步需要以下步驟:
- 安裝 Azure Active Directory Connect
- 匯入 ADSync PowerShell 模組
- 執行
Start-AdSyncSchedule
cmdlet 以讀取域控制器的密碼雜湊並與 Azure AD 同步。
如果您更喜歡透過影片學習,請務必查看這段有關 TechSnips 的資訊影片。
安裝 Azure AD Connect
要將本地的 Active Directory 同步至 Azure AD 租用戶,首先需要下載並安裝 Azure AD Connect 軟體。有兩種選擇,您可以從 Azure Portal 下載,或直接前往 軟體套件 的頁面下載。
從 Azure Portal 下載
如果您選擇不從 Microsoft 網站下載套件,您需要從 Azure Portal 獲取套件。
在 Azure Portal 中搜尋「Azure Active Directory」。在 Azure Active Directory 部分,點擊 Azure AD Connect。這裡您將找到一個 同步狀態 部分,其中包含一個下載 Azure AD Connect 的連結。

同步工具
安裝 Azure AD Connect 後,將安裝兩個主要工具,您可以使用這些工具來安排同步或強制執行同步。
- ADSync PowerShell 模組
- 同步服務管理器
使用這兩個工具,您可以設定定期同步以執行 Azure AD 同步,或使用其中之一來強制執行即時同步。這兩個工具執行相同的操作,唯一的區別在於一個是通過命令行(PowerShell),一個是圖形化應用程式。
設定 ADSync PowerShell 模組
安裝 Azure AD Connect 時,將安裝一個名為 ADSync 的 PowerShell 模組。該模組包含可以使用 PowerShell 管理同步過程的命令。
请注意,在本文中我使用的是 Windows PowerShell 5.1。如果您使用旧版本,可能会有不同。
与所有的PowerShell模块一样,导入模块非常简单。然而,该模块不位于已知的 Windows PowerShell 模块文件夹中。安装程序将 PowerShell 模块安装在C:\Program Files\Microsoft Azure AD Connect Sync\Bin文件夹中。
要导入该模块,请打开 PowerShell 控制台并输入以下命令:
要验证模块是否已导入,请使用Get-Module
命令。您应该能看到ADSync模块的列表。

默认的 Azure AD 同步计划
默认情况下,Azure AD Connect 创建了一个定时任务,每隔30分钟运行一次增量同步(仅同步不同的对象)。您可以通过打开任务计划程序来查找该计划。您应该会在Microsoft –> Windows下找到一个名为Azure AD Sync Scheduler的定时任务。

您可以更改此计划,但请注意,30分钟是最低支持的时间间隔。目标是设置同步间隔,以便频繁进行变更。如果同步时间间隔太短,可能会使网络负载过重。
调度程序处理两个任务:
- 同步循环 – 导入、同步和导出更改的过程。
- 維護任務 – 更新密碼重置和設備註冊服務(DRS)的金鑰和憑證。同時清除操作日誌中的舊項目。
調度程序本身始終運行,但可以配置為僅運行其中一個或不運行任何任務。
強制 Azure AD Connect 同步
在某些情況下,您可能需要強制同步對象。例如,如果您需要自己的同步週期流程,則可以在調度程序中禁用此任務,但仍然運行維護任務。
要使用 Azure Active Directory Connect 強制密碼同步和其他信息,可以使用同步服務管理器或 PowerShell。
使用同步服務管理器強制同步
在安裝了 Azure AD Connect 的服務器上,導航到“開始”菜單,選擇AD Connect,然後選擇同步服務。
乍一看,它看起來很繁重,但您只需要關注連接器選項卡和右側的選擇窗格。查看右側窗格,您可以看到停止(停止)和開始(運行)同步的選項。

請注意,在同步週期運行時,您無法進行配置更改。停止當前週期並不會造成損害,待定的更改將在下一次運行時處理。
使用 PowerShell 獲取同步狀態
在強制同步之前,最好獲取當前同步週期的狀態。如果在當前運行的同步期間強制同步,可能會在以後遇到一些問題。
要查看當前設置,在安裝 Azure Active Directory Connect 的服務器上打開 PowerShell 控制台,運行Get-ADSyncScheduler
。您將看到幾個屬性,每個屬性都提供有用的信息。

Get-AdSyncScheduler
需要解析的信息相當多。讓我們逐行解釋:
AllowedSyncCycleInterval
– 這是同步之間的最短時間。默認情況下,它設置為30分鐘,是允許的最短時間。CurrentlyEffectiveSyncCycleInterval
– 當前有效的計劃。如果不比AllowedSyncInterval
更頻繁,則其值與CustomizedSyncInterval
(如果已設置)相同。如果在1.1.281之前的版本中更改CustomizedSyncCycleInterval
,此更改將在下一個同步週期後生效。從1.1.281版本開始,更改將立即生效。CustomizedSyncCycleInterval
– 如果您想以非默認的30分鐘頻率運行計劃程序,則設置此值。NextSyncCyclePolicyType
– 此參數定義下一次運行應處理的內容。如果下一次運行是完整同步,則一開始將顯示。NextSyncCycleStartTimeInUTC
– 這是計劃程序啟動下一個同步週期的時間。PurgeRunHistoryInterval
– 設定操作日誌保留的時間。默認保留日誌 7 天。SyncCycleEnabled
– 指示計劃程序是否正在運行導入、同步和導出過程。MaintenanceEnabled
– 啟用維護功能,更新證書/密鑰並清除操作日誌。StagingModeEnabled
– 如果啟用,將禁止執行導出同步。SchedulerSuspended
– 設置為暫時阻止計劃程序運行。
使用 PowerShell 強制同步
通過檢查 NCSC 密碼列表 ,在您的 Active Directory 中找到洩漏和不安全的密碼。
在強制進行同步時,您有幾個選項。您可以強制進行完整同步或增量同步。完整同步會檢查整個 AD 中的所有對象。增量同步僅檢查並同步自上次運行以來的更改。
要开始全量同步,您可以使用Start-AdSyncSyncCycle
cmdlet。使用PolicyType
参数选择Full
或Delta
,具体取决于您要启动的同步方式。无论哪种方法,都会强制进行与Office 365、用户身份帐户和所有其他属性的AD同步。
停止同步
如果您想停止正在进行的同步,也可以使用Stop-ADSyncSyncCycle
cmdlet。
总结
无论您选择使用GUI还是PowerShell,您现在应该知道如何使用Azure Active Directory Connect工具来安排或强制与本地Active Directory环境和Azure AD同步的各种方式。