共用方式為


針對使用 Microsoft Entra Connect 同步執行的密碼雜湊同步處理進行疑難排解

本主題提供如何針對密碼雜湊同步處理問題進行疑難排解的步驟。 如果密碼未如預期同步,可能是因部分使用者或所有用戶的密碼造成。

對於 1.1.614.0 版或更新版本的 Microsoft Entra Connect 部署,請使用精靈導覽中的疑難排解任務,針對密碼雜湊同步問題進行疑難排解。

對於部署版本為 1.1.524.0 或更新版本的情況,您可以使用診斷命令來排除密碼雜湊同步問題。

針對舊版本的 Microsoft Entra Connect 部署:

未同步任何密碼:使用疑難排解工作進行疑難排解

您可以使用疑難排解工作來查明未同步任何密碼的原因。

注意

疑難排解工作僅適用於 Microsoft Entra Connect 1.1.614.0 版或更新版本。

執行疑難排解工作

針對未同步任何密碼的問題進行疑難排解:

  1. 使用 [以系統管理員身分執行] 選項,在您的 Microsoft Entra Connect 伺服器上開啟新的 Windows PowerShell 工作階段。

  2. 執行 Set-ExecutionPolicy RemoteSignedSet-ExecutionPolicy Unrestricted

  3. 啟動 Microsoft Entra Connect 精靈。

  4. 流覽至 [其他工作] 頁面,選取 [疑難解答],然後選取 [下一步]。

  5. 在 [疑難解答] 頁面上,選取 [啟動],以在 PowerShell 中啟動疑難解答功能表。

  6. 在主功能表中,選取 [針對密碼雜湊同步處理進行疑難排解]

  7. 在子功能表中,選取 [密碼哈希同步處理無法運作]

了解疑難排解工作的結果

疑難排解工作會執行下列檢查:

  • 確認已針對您的 Microsoft Entra 租用戶啟用密碼雜湊同步處理功能。

  • 驗證Microsoft Entra Connect 伺服器不在預備模式中。

  • 針對每個現有的內部部署 Active Directory 連接器 (對應至現有的 Active Directory 樹系):

    • 確認已啟用密碼雜湊同步處理功能。

    • 在應用程式事件記錄檔中搜尋密碼雜湊同步心跳事件。

    • 針對本機 Active Directory 連接器下的每個 Active Directory 網域:

      • 確認可從 Microsoft Entra Connect 伺服器存取網域。

      • 確認內部部署 Active Directory 連接器所使用的 Active Directory Domain Services (AD DS) 帳戶具有密碼雜湊同步處理所需的正確使用者名稱、密碼及權限。

下圖說明 Cmdlet 在單一網域、內部部署的 Active Directory 拓撲上的執行結果:

密碼雜湊同步處理的診斷結果

本節的其餘部分說明工作傳回的特定結果和對應的問題。

密碼雜湊同步處理功能未啟用

如果未使用 Microsoft Entra Connect 精靈啟用密碼雜湊同步處理,則會傳回下列錯誤:

密碼雜湊同步處理未啟用

Microsoft Entra Connect 伺服器處於預備模式

如果 Microsoft Entra Connect 伺服器處於預備模式,就會暫時停用密碼雜湊同步處理,而會傳回下列錯誤:

Microsoft Entra Connect 伺服器處於預備模式

沒有密碼哈希同步心跳事件

每個內部部署 Active Directory 連接器都會維護自己的密碼雜湊同步處理通道。 當通道處於作用中狀態,但沒有擱置的密碼變更時,Windows 應用程式事件記錄檔每 30 分鐘會記錄一次心跳事件(事件標識碼 654)。

為了驗證通道健康情況,Cmdlet 會在過去三小時內檢查每個連接器的活動訊號事件。 如果找不到任何結果,則會傳回下列錯誤:

沒有密碼雜湊同步心跳事件

AD DS 帳戶沒有正確的權限

如果內部部署 Active Directory 連接器用來同步密碼雜湊的 AD DS 帳戶沒有適當的權限,則會傳回下列錯誤:

螢幕擷取畫面:當 AD DS 帳戶的使用者名稱或密碼不正確時所傳回的錯誤。

不正確的 AD DS 帳戶使用者名稱或密碼

如果內部部署 Active Directory 連接器用來同步密碼雜湊的 AD DS 帳戶有不正確的使用者名稱或密碼,則會傳回下列錯誤:

不正確的認證

有一個物件未同步密碼:使用疑難排解工具進行檢查

您可以使用疑難解答工作來判斷為何一個物件未同步處理密碼。

注意

疑難排解工作僅適用於 Microsoft Entra Connect 1.1.614.0 版或更新版本。

執行診斷 cmdlet

若要針對特定使用者物件的問題進行疑難排解:

  1. 使用 [以系統管理員身分執行] 選項,在您的 Microsoft Entra Connect 伺服器上開啟新的 Windows PowerShell 工作階段。

  2. 執行 Set-ExecutionPolicy RemoteSignedSet-ExecutionPolicy Unrestricted

  3. 啟動 Microsoft Entra Connect 精靈。

  4. 流覽至 [其他工作] 頁面,選取 [疑難解答],然後選取 [下一步]。

  5. 在 [疑難解答] 頁面上,選取 [啟動],以在 PowerShell 中啟動疑難解答功能表。

  6. 在主功能表中,選取 [針對密碼雜湊同步處理進行疑難排解]

  7. 在子選單中,選取 密碼未同步至特定使用者帳戶

了解疑難排解工作的結果

疑難排解工作會執行下列檢查:

  • 在 Active Directory 連接器空間、Metaverse 和 Microsoft Entra 連接器空間中,檢查 Active Directory 物件的狀態。

  • 確認有已啟用密碼雜湊同步處理的同步處理規則,且已套用至 Active Directory 物件。

  • 試著擷取並顯示上次嘗試同步物件密碼的結果。

下方的圖示說明在對單一物件進行密碼雜湊同步處理的疑難排解時,cmdlet 執行的結果:

密碼雜湊同步處理的診斷輸出 - 單一物件

本節的其餘部分說明 Cmdlet 所傳回的特定結果和對應的問題。

Active Directory 物件未匯出至 Microsoft Entra ID

內部部署的 Active Directory 帳戶的密碼哈希同步失敗,因為 Microsoft Entra 租戶中沒有對應的物件。 系統會傳回下列錯誤:

Microsoft Entra 物件遺失

使用者有暫時密碼

舊版的 Microsoft Entra Connect 不支援使用 Microsoft Entra ID 同步處理暫時密碼。 如果對內部部署 Active Directory 使用者設定 [在下次登入時變更密碼] 選項,密碼就視為暫時。 使用這些過時版本會傳回下列錯誤:

暫時密碼不會匯出

若要啟用暫時密碼的同步處理,您必須安裝 Microsoft Entra Connect 2.0.3.0 版或更高版本,且必須啟用 ForcePasswordChangeOnLogon 功能。

上次嘗試同步密碼沒有結果

根據預設,Microsoft Entra Connect 會將密碼雜湊同步處理嘗試的結果儲存達七天。 如果選取的 Active Directory 物件沒有可用的結果,則會傳回下列警告:

單一物件的診斷輸出 - 沒有密碼同步記錄

尚未同步任何密碼:請使用診斷 Cmdlet 進行疑難排解。

您可以使用 Invoke-ADSyncDiagnostics Cmdlet 來查明未同步任何密碼的原因。

注意

Invoke-ADSyncDiagnostics Cmdlet 僅適用於 Microsoft Entra Connect 1.1.524.0 版或更新版本。

執行診斷 cmdlet

針對未同步任何密碼的問題進行疑難排解:

  1. 使用 [以系統管理員身分執行] 選項,在您的 Microsoft Entra Connect 伺服器上開啟新的 Windows PowerShell 工作階段。

  2. 執行 Set-ExecutionPolicy RemoteSignedSet-ExecutionPolicy Unrestricted

  3. 執行 Import-Module ADSyncDiagnostics

  4. 執行 Invoke-ADSyncDiagnostics -PasswordSync

一個對象未同步處理密碼:使用診斷 cmdlet 指令進行故障排除

您可以使用 Invoke-ADSyncDiagnostics Cmdlet 來判斷為何一個物件未同步處理密碼。

注意

Invoke-ADSyncDiagnostics Cmdlet 僅適用於 Microsoft Entra Connect 1.1.524.0 版或更新版本。

執行診斷 cmdlet

針對未同步任何使用者密碼的問題進行疑難排解:

  1. 使用 [以系統管理員身分執行] 選項,在您的 Microsoft Entra Connect 伺服器上開啟新的 Windows PowerShell 工作階段。

  2. 執行 Set-ExecutionPolicy RemoteSignedSet-ExecutionPolicy Unrestricted

  3. 執行 Import-Module ADSyncDiagnostics

  4. 取得使用者的 DistinguishedName (DN)並執行下列命令:

    Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName <Name-of-AD-Connector> -DistinguishedName <DistinguishedName-of-AD-object>
    

    例如:

    Invoke-ADSyncDiagnostics -PasswordSync -ADConnectorName "contoso.com" -DistinguishedName "CN=TestUserCN=Users,DC=contoso,DC=com"
    

未同步任何密碼:手動疑難排解步驟

請依照下列步驟來判斷未同步任何密碼的原因:

  1. Connect 伺服器是否是處於預備模式? 處於預備模式的伺服器不會同步處理任何密碼。

  2. 執行取得密碼同步設定的狀態一節中的指令碼。 它可讓您大致了解密碼同步設定作業。

    來自密碼同步設定的 PowerShell 指令碼輸出

  3. 如果在 Microsoft Entra ID 中未啟用此功能或同步通道狀態未啟用,請執行「連接安裝精靈」。 選取 [自訂同步處理選項] 並取消選取密碼同步。這項變更會暫時停用此功能。 然後再次執行精靈並重新啟用密碼同步處理。再次執行指令碼,確認組態正確無誤。

  4. 查看事件記錄中是否有錯誤。 尋找下列事件,這些事件會指出問題所在︰

    來源:「目錄同步」
    識別碼:0、611、652、655

    如果您看到這些事件,即表示有連線問題。 發生問題的樹系資訊已包含在事件記錄訊息中。

  5. 如果您沒有看到任何活動訊號,或任何其他操作都沒有作用,請執行觸發所有密碼的完整同步。 只執行一次指令碼。

  6. 請參閱「無法同步密碼的單一物件疑難解答」一節。

連線問題和 AD DS 權限

檢查 Microsoft Entra Connect 是否可以連線到 Microsoft Entra ID。

AD DS 連接器帳戶必須具有讀取所有網域中密碼哈希的必要許可權。

如果您使用快速設定安裝Microsoft Entra Connect,則會自動設定必要的許可權。

如果您使用自訂安裝,請依照下列步驟手動指派許可權:

  1. 若要尋找 Active Directory 連接器所使用的帳戶,請啟動 Synchronization Service Manager

  2. 移至 [連接器],然後尋找您要進行疑難排解的內部部署 Active Directory 樹系。

  3. 選取連接器,然後選擇 屬性

  4. 前往 [連線至 Active Directory 樹系]

    Active Directory 連接器所使用的帳戶
    記下使用者名稱和帳戶所在的網域。

  5. 啟動 Active Directory 使用者和電腦工具,然後確認您稍早找到的帳戶具有樹系中所有網域根目錄設定的下列權限:

    • 複寫目錄變更
    • 複寫目錄變更 (全部)
  6. Microsoft Entra Connect 是否可以連線到網域控制站? 如果 Connect 伺服器無法連線到所有網域控制站,請設定 [ 僅使用慣用的網域控制站]。

    Active Directory 連接器所使用的網域控制站

  7. 返回 Synchronization Service Manager,並設定目錄磁碟分割

  8. 選取目錄分割區中選擇您的網域,勾選僅使用慣用的網域控制器選項,然後選擇設定

  9. 在清單中,輸入 Connect 應該用來進行密碼同步的網域控制站。此相同清單也用於匯入和匯出。 針對您的所有網域執行這些步驟。

注意

若要套用這些變更,請重新啟動「Microsoft Entra ID 同步」(ADSync) 服務。

  1. 如果文稿顯示沒有活動訊號,請在 觸發所有密碼的完整同步處理中執行腳本。

有一個物件未同步密碼:手動疑難排解步驟

您可以藉由檢閱物件的狀態,輕鬆地針對密碼雜湊同步處理問題進行疑難排解。

  1. Active Directory 使用者和電腦中,搜尋使用者,然後確認已清除 [使用者必須在下次登入時變更密碼] 核取方塊。

    Active Directory 生產力密碼

如果選取此核取方塊,請要求使用者登入並變更密碼。 暫時密碼不會與 Microsoft Entra ID 同步。

  1. 如果 Active Directory 中的密碼看起來正確,請在同步處理引擎中追蹤使用者。 若您追蹤使用者從內部部署 Active Directory 移轉到 Microsoft Entra ID,可查看物件上是否存在描述性錯誤。

    一。 啟動 Synchronization Service Manager

    b。 選擇 連線器

    丙. 選取使用者所在的 Active Directory 連接器

    d。 選取《搜尋連接器空間》

    e。 在 [範圍] 方塊中,選取 [DN 或錨點],然後輸入您要進行疑難排解之使用者的完整 DN。

    在連接器空間中依 DN 搜尋使用者

    f。 找出您要尋找的使用者,然後選取 [[屬性] 以查看所有屬性。 如果使用者不在搜尋結果中,請確認您的 篩選規則,並確定您執行 套用並確認變更,讓使用者出現在 Connect 中。

    g。 若要檢視過去一周物件的密碼同步詳細資料,請選擇 記錄檔

    物件記錄詳細資料

    如果對象記錄檔是空的,Microsoft Entra Connect 無法從 Active Directory 讀取密碼哈希。 請繼續進行連線錯誤疑難排解。 如果您看到 [成功] 以外的任何其他值,請參考密碼同步記錄中的表格。

    h。 選取 [系譜] 索引標籤,並確認至少有一個 [PasswordSync] 資料行中的同步規則為 True。 在預設組態中,同步規則的名稱是 In from AD - User AccountEnabled

    使用者的相關歷程資訊

    一. 選取 [Metaverse 物件屬性] 以顯示使用者屬性清單。

    螢幕擷取畫面:Metaverse 物件屬性的使用者屬性清單。

    請確認不存在 cloudFiltered 屬性。 確定網域屬性 (domainFQDN 和 domainNetBios) 具有預期的值。

    j. 選取 [連接器] 索引標籤。請確認您能看到連接至本機 Active Directory 和 Microsoft Entra ID 的連接器。

    元宇宙資訊

    喔,好 選取代表 Microsoft Entra ID 的列,選取 屬性,然後選取 系譜 標籤。連接器空間物件在 PasswordSync 欄中應有輸出規則設定為 True。 在預設組態中,同步規則的名稱是 Out to Microsoft Entra ID - User Join

    連接器空間物件屬性對話方塊

密碼雜湊同步記錄

[狀態] 欄可以有下列值︰

狀態 描述
成功 密碼已成功同步。
根據目標過濾 密碼會設為 [使用者必須在下次登入時變更密碼] 。 密碼尚未同步處理。
NoTargetConnection Metaverse 或 Microsoft Entra 連接器空間中沒有任何物件。
資源連接器不存在 在內部部署 Active Directory 連接器空間中找不到任何物件。
目標未匯出至目錄 Microsoft Entra 連接器空間中的物件尚未匯出。
已遷移,檢查詳情以獲取更多資訊 記錄項目建立於組建 1.0.9125.0 之前,並且以其舊版的狀態顯示。
錯誤 服務傳回未知的錯誤。
未知 嘗試處理一批密碼雜湊值時發生錯誤。
缺少屬性 Microsoft Entra Domain Services 所需的特定屬性(例如 Kerberos 哈希)不可用。
由目標要求重試 Microsoft Entra Domain Services 所需的特定屬性(例如 Kerberos 哈希)之前無法取得。 會嘗試重新同步使用者的密碼哈希碼。

Windows 事件檢視器的密碼雜湊同步記錄

密碼雜湊同步功能會在 Windows 事件檢視器中產生一組全面的應用程式事件,捕獲其大部分操作活動。

若要有效進行疑難排解,請考慮增加應用程式記錄的大小。 如果沒有此調整,密碼雜湊同步事件可能會被覆蓋,從而難以追蹤同步狀態和診斷問題。

事件識別碼 描述
601 密碼雜湊同步管理員正在啟動。
602 密碼雜湊同步正在停止。
603 發生密碼雜湊同步未預期的錯誤。
604 發生密碼哈希同步處理工作錯誤。
605 密碼雜湊同步項目將新增至重試佇列。
606 密碼雜湊同步項目會從重試佇列中移除。
607 密碼哈希同步無法啟動。
609 密碼雜湊同步已停止。
610 密碼雜湊同步無法停止。
611 網域的密碼雜湊同步處理期間發生錯誤。
612 初始化密碼雜湊同步上下文時發生錯誤。
613 密碼雜湊同步代理程式已暫停,因為目錄完整同步尚未完成。
614 如果沒有關閉,密碼散列同步開始會被呼叫。
615 發生密碼雜湊同步工作執行緒例外狀況。
616 與慣用 DC 的密碼雜湊同步連線失敗。
617 已針對樹系啟動完整密碼雜湊同步處理。
618 已開始針對網域進行完整密碼雜湊同步。
619 顯示網域的密碼哈希同步處理進度。
620 會報告未重試的密碼雜湊同步物件。
621 完整的密碼哈希同步嘗試失敗。
622 網域的完整密碼雜湊同步處理已完成。
6:23 樹系的完整密碼雜湊同步處理已完成。
650 密碼雜湊同步批次處理的開始。
651 密碼雜湊同步處理批次結束。
652 密碼雜湊同步作業期間發生錯誤。
653 開始進行密碼雜湊同步檢測。
654 密碼雜湊同步 ping 結束。
655 密碼雜湊同步 ping 期間發生錯誤。
656 密碼雜湊同步請求訊息。
657 密碼雜湊同步回應訊息。
658 DCaaS 同步事件記錄檔訊息。
659 密碼政策同步事件日志訊息。
660 密碼哈希同步公司功能自我修復的開始。
661 密碼哈希同步公司功能自我修復結束。
662 密碼雜湊同步健康情況工作在 Ping 作業期間失敗。
663 密碼雜湊同步管理員處於活動狀態並正在執行中。
664 單一物件同步工作失敗。
665 儲存網域的密碼哈希同步處理周期狀態失敗。
666 網域的密碼哈希同步因為 sql 死結而失敗。
667 產生 MD5 解金鑰失敗。
668 密碼雜湊同步處理批次中僅變更 PwdLastSet 的物件數目。

協助疑難排解的指令碼

取得密碼同步設定的狀態

Import-Module ADSync
$connectors = Get-ADSyncConnector
$aadConnectors = $connectors | Where-Object {$_.SubType -eq "Windows Azure Active Directory (Microsoft)"}
$adConnectors = $connectors | Where-Object {$_.ConnectorTypeName -eq "AD"}
if ($aadConnectors -ne $null -and $adConnectors -ne $null)
{
    if ($aadConnectors.Count -eq 1)
    {
        $features = Get-ADSyncAADCompanyFeature
        Write-Host
        Write-Host "Password sync feature enabled in your Azure AD directory: "  $features.PasswordHashSync
        foreach ($adConnector in $adConnectors)
        {
            Write-Host
            Write-Host "Password sync channel status BEGIN ------------------------------------------------------- "
            Write-Host
            Get-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector.Name
            Write-Host
            $pingEvents =
                Get-EventLog -LogName "Application" -Source "Directory Synchronization" -InstanceId 654  -After (Get-Date).AddHours(-3) |
                    Where-Object { $_.Message.ToUpperInvariant().Contains($adConnector.Identifier.ToString("D").ToUpperInvariant()) } |
                    Sort-Object { $_.Time } -Descending
            if ($pingEvents -ne $null)
            {
                Write-Host "Latest heart beat event (within last 3 hours). Time " $pingEvents[0].TimeWritten
            }
            else
            {
                Write-Warning "No ping event found within last 3 hours."
            }
            Write-Host
            Write-Host "Password sync channel status END ------------------------------------------------------- "
            Write-Host
        }
    }
    else
    {
        Write-Warning "More than one Azure AD Connectors found. Please update the script to use the appropriate Connector."
    }
}
Write-Host
if ($aadConnectors -eq $null)
{
    Write-Warning "No Azure AD Connector was found."
}
if ($adConnectors -eq $null)
{
    Write-Warning "No AD DS Connector was found."
}
Write-Host

觸發所有密碼的完整同步處理

注意

只執行一次這個指令碼。 如果需要執行多次,則表示問題出在其他地方。 若要針對問題進行疑難排解,請連絡 Microsoft 支援服務。

您可以使用下列指令碼來觸發所有密碼的完整同步︰

  1. 指定本機 Active Directory $adConnector

    $adConnector = "<CASE SENSITIVE AD CONNECTOR NAME>"

  2. 指派 AzureAD $aadConnector

    $aadConnector = "<CASE SENSITIVE AAD CONNECTOR NAME>"

  3. 安裝 AzureAD 同步模組

    Import-Module adsync

  4. 建立新的強制完整密碼同步設定參數物件

    $c = Get-ADSyncConnector -Name $adConnector

  5. 使用下列新組態更新現有的連接器。 個別執行每一行

    一。 $p = New-Object Microsoft.IdentityManagement.PowerShell.ObjectModel.ConfigurationParameter "Microsoft.Synchronize.ForceFullPasswordSync", String, ConnectorGlobal, $null, $null, $null

    b。 $p.Value = 1

    丙. $c.GlobalParameters.Remove($p.Name)

    d。 $c.GlobalParameters.Add($p)

    e。 $c = Add-ADSyncConnector -Connector $c

  6. 停用 Entra ID Connect

    Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $false

  7. 啟用 Entra ID Connect 以強制進行完整密碼同步處理

    Set-ADSyncAADPasswordSyncConfiguration -SourceConnector $adConnector -TargetConnector $aadConnector -Enable $true

下一步