使用 Azure Active 目錄同步處理工具時,有一或多個物件無法同步處理

本文解決一或多個 Active Directory 網域服務 (AD DS) 物件屬性未透過 Azure Active Directory 同步處理工具同步至 Microsoft Entra ID 的問題。

              原始產品版本:雲端服務 (Web 角色/工作角色)、Microsoft Entra ID、Microsoft Intune、Azure 備份、Office 365 身分識別管理
原始 KB 編號: 2643629

注意事項

本文是否有幫助? 您的輸入對我們很重要。 請使用此頁面上的 [ 意見反應 ] 按鈕,讓我們知道本文如何為您運作,或我們如何加以改善。

徵狀

一或多個 AD DS 物件或屬性不會如預期般同步至 Microsoft Entra ID。 當 Active Directory 同步處理執行時,物件不會同步,而且您會遇到下列其中一個徵兆:

  • 您會收到錯誤訊息,指出屬性具有重複的值。
  • 您會收到錯誤訊息,指出一或多個屬性違反格式化需求,例如字元集或字元長度。
  • 您未收到錯誤訊息,而且目錄同步處理似乎已完成。 不過,某些物件或屬性不會如預期般更新。

您可能會收到的錯誤訊息的一些範例:

您的 Microsoft Online Services 目錄中已經存在具有相同 Proxy 位址的同步物件。

找不到使用者標識碼,因此無法更新此物件。

無法在 Microsoft Online Services 中更新此對象,因為與此對象相關聯的下列屬性具有可能已經與本機目錄中另一個對象相關聯的值。

原因

這個問題是因為下列其中一個原因所造成:

  • AD DS 屬性所使用的網域值尚未經過驗證。

  • 一或多個需要唯一值的物件屬性具有重複的屬性值 (例如 proxyAddresses 屬性或現有使用者帳戶中) 的 U serPrincipalName 屬性。

  • 一或多個物件屬性違反限制字元和屬性值字元長度的格式設定需求。

  • 一或多個物件屬性符合目錄同步處理的排除規則。

    下表顯示預設同步處理範圍規則:

    物件類型 屬性名稱 同步處理失敗時的屬性條件
    連絡人 DisplayName 包含 “MSOL”
    msExchHideFromAddressLists 設定為 “True”
    啟用安全性的群組 isCriticalSystemObject 設定為 “True”
    擁有郵件功能的群組
    (安全組或通訊組清單)
    proxyAddresses



    mail
    沒有 “SMTP:” 位址專案



    不存在
    擁有郵件功能的連絡人 proxyAddresses



    mail
    沒有 “SMTP:” 位址專案



    不存在
    iNetOrgPerson sAMAccountName 不存在
    isCriticalSystemObject 存在
    使用者 mailNickName 從 「SystemMailbox」 開始
    mailNickName 從 「CAS_」 開始



    包含 “}”
    sAMAccountName 從 「CAS_」 開始



    包含 “}”
    sAMAccountName 等於 “SUPPORT_388945a0”
    sAMAccountName 等於 “MSOL_AD_Sync”
    sAMAccountName 不存在
    isCriticalSystemObject 設定為 “True”
  • UPN) (用戶主體名稱在初始同步處理之後已變更,必須手動更新。

  • Exchange Online 內部部署的 Active Directory 架構中未適當地填入已同步使用者的簡易郵件傳輸通訊協定 (SMTP) 位址。

解決方案

若要解決此問題,請視情況使用下列其中一種方法。

執行IdFix以檢查是否有重複專案、遺漏屬性和規則違規

使用 IdFix DirSync 錯誤補救工具來尋找防止同步處理 Microsoft Entra ID 的物件和錯誤。

  • 如果您在執行 IdFix 之後在 ERROR 資料行中看到「空白」,則不會定義物件的 displayName 屬性。 若要解決此問題,請使用下列步驟指定 物件的 displayName 屬性值:
  1. 在物件的 UPDATE 數據行中,輸入其 displayName 屬性的名稱。
  2. 在 [動作] 數據行中,按兩下 [編輯],然後按兩下 [套用]。
  3. 針對 ERROR 資料行中具有「空白」專案的每個物件重複步驟 1 和 2。
  4. 再次執行 IdFix 以尋找更多物件錯誤。
  • 如果您在執行 IdFix 之後在 ERROR 數據行中看到「重複」,則兩個或多個物件具有相同的電子郵件位址。 若要解決此問題,請使用下列步驟為 物件指定唯一的電子郵件位址:
  1. 在物件的 UPDATE 資料行中,輸入尚未使用的電子郵件位址。
  2. 在 [動作] 數據行中,按兩下 [編輯],然後按兩下 [套用]。
  3. 再次執行 IdFix 以尋找更多物件錯誤。

判斷不是透過目錄同步處理在 Microsoft Entra ID 中建立的物件所造成的屬性衝突

若要判斷用戶物件所造成的屬性衝突,這些物件是使用管理工具 (而非透過目錄同步) 在 Microsoft Entra ID 中建立的,請遵循下列步驟:

  1. 判斷內部部署 AD DS 用戶帳戶的唯一屬性。 若要這樣做,請在已安裝 Windows 支援工具的電腦上,遵循下列步驟:

    1. 取 [開始],選取 [ 執行],輸入 ldp.exe,然後選取 [ 確定]

    2. 選取 [ 連線],選取 [ 連線],輸入 AD DS 域控制器的計算機名稱,然後選取 [ 確定]

    3. 選取 [連線],選取 [ 系結],然後選取 [ 確定]

    4. 取 [檢視],選取 [樹視圖],選取 [BaseDN ] 下拉式清單中的 AD DS 網域,然後選取 [ 確定]

    5. 在瀏覽窗格中,找出 ,然後按兩下未正確同步的物件。 視窗右側的 [詳細數據] 窗格會列出所有物件屬性。 下列範例顯示物件屬性:

      列出所有物件屬性之 Windows 支援工具的瀏覽和詳細資料窗格螢幕快照。

    6. 記錄 userPrincipalName 屬性的值,以及 multivalue proxyAddresses 屬性中的每個 SMTP 位址。 您稍後將需要這些值。

      屬性名稱 範例 附註
      proxyAddresses proxyAddresses (3) : x500:/o=Exchange/ou=Exchange 管理群組 (FYDIBOHF23SPDLT) /cn=Recipients/cn=1ae75fca0d3a4303802cea9ca50fcd4f-7628376;smtp:7628376@service.contoso.com;SMTP:7628376@contoso.com;
      1.以括弧顯示在屬性卷標旁邊的數位會指出多重值屬性中的 Proxy 位址值數目。

      2.每個不同的 Proxy 位址值都是以分號 (;) 表示。

      3.主要 SMTP Proxy 位址值以大寫 “SMTP:” 表示
      userPrincipalName 7628376@contoso.com

      注意事項

      Ldp.exe 包含在 Windows Server 2008 和 Windows Server 2003 支援工具中。 Windows Server 2003 支援工具包含在 Windows Server 2003 安裝媒體中。 或者,若要取得支援工具,請移至下列 Microsoft 網站: Windows Server 2003 Service Pack 2 32 位支援工具

  2. 使用適用於 Windows PowerShell 的 Azure Active Directory 模組連線到 Microsoft Entra ID。 如需詳細資訊,請移至使用 Windows PowerShell 管理 Microsoft Entra ID

    讓主控台視窗保持開啟。 您必須在下一個步驟中使用它。

  3. 檢查重複的userPrincipalName屬性。

    在您在步驟 2 中開啟的控制台連線中,以它們的呈現順序輸入下列命令。 在每個命令之後按 Enter:

    $userUPN = "<search UPN>"
    

    注意事項

    在此命令中,佔位元元 「<search UPN>」 代表您在步驟 1f 中記錄的 UserPrincipalName 屬性。

    Get-MSOLUser -UserPrincipalName $userUPN | where {$_.LastDirSyncTime -eq $null}
    

    注意事項

    自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模組已被取代。 若要深入瞭解,請閱讀 淘汰更新。 在此日期之後,這些模組的支援僅限於 Microsoft Graph PowerShell SDK 的移轉協助和安全性修正。 已淘汰的模組會繼續運作到 2025 年 3 月 30 日。

    建議您移轉至 Microsoft Graph PowerShell,以與 Microsoft Entra ID (先前的 Azure AD) 互動。 如需常見的移轉問題,請參閱 移轉常見問題注意: 1.0.x 版的 MSOnline 可能會在 2024 年 6 月 30 日之後中斷。

    讓主控台視窗保持開啟。 您將在下一個步驟中再次使用它。

  4. 檢查是否有重複的 proxyAddresses 屬性。 在您在步驟 2 中開啟的控制台連線中,執行下列命令:

    Import-Module ExchangeOnlineManagement
    
  5. 針對您在步驟 1f 中記錄的每個 Proxy 位址專案,以它們的呈現順序輸入下列命令。 在每個命令之後按 Enter:

    $proxyAddress = "<search proxyAddress>"
    

    注意事項

    在此命令中,佔位元元 「<search proxyAddress>」 代表您在步驟 1f 中記錄的 proxyAddresses 屬性值。

    Get-EXOMailbox | where {[string] $str = ($_.EmailAddresses); $str.tolower().Contains($proxyAddress.tolower()) -eq $true} | foreach {get-MSOLUser -UserPrincipalName $_.MicrosoftOnlineServicesID | where {($_.LastDirSyncTime -eq $null)}}
    

在步驟 3 和 4 中執行命令之後傳回的專案,代表未透過目錄同步處理建立的用戶物件,且具有與未正確同步處理之物件衝突的屬性。

更新 AD DS 屬性以移除重複專案、規則違規和範圍排除專案

根據下列資訊,識別防止同步處理的特定屬性:

  • 系統管理電子郵件訊息
  • 來自 Office 365 部署整備工具輸出的報告
  • 預設目錄同步處理範圍規則和自定義規則

識別特定屬性值之後,請使用下列其中一種方法來編輯屬性值:

  • 使用 Active Directory 使用者和電腦 工具來編輯屬性值。
  1. 開 Active Directory 使用者和電腦,然後選取 AD DS 網域的根節點。
  2. 取 [檢視], 然後確定已選取 [ 進階功能] 選項。
  3. 在左側瀏覽窗格中,找出用戶物件,以滑鼠右鍵按兩下它,然後選取 [ 屬性]
  4. 在 [物件 編輯器] 索引標籤上,找出您想要的屬性。 選取 [編輯],然後將屬性值編輯為您想要的值。
  5. 選取兩次 [確定]
  • 使用 Active Directory 服務介面 (ADSI) Edit 來更新 AD DS 中的物件屬性。 您可以下載 ADSI Edit 並安裝為 Windows Server Toolkit 的一部分。 若要使用 ADSI 編輯來編輯屬性,請遵循下列步驟。

警告

此程式需要ADSI編輯。 不正確地使用 ADSI 編輯可能會造成嚴重問題,而您可能需要重新安裝作業系統。 Microsoft 無法保證可以解決不正確使用 ADSI Edit 所造成的問題。 請自行承擔ADSI編輯的風險。

  1. 取 [開始],選取 [ 執行],輸入 ADSIEdit.msc,然後選取 [ 確定]
  2. 以滑鼠右鍵按下瀏覽窗格中的 [ ADSI 編輯 ],選取 [ 連線至],然後選取 [ 確定 ] 以載入網域分割區。
  3. 找出用戶物件,以滑鼠右鍵按下它,然後選取 [ 屬性]
  4. 在 [ 屬性] 清單中,找出您想要的屬性。 選取 [編輯],然後將屬性值編輯為您想要的值。
  5. 選取 [確定] 兩次,然後結束 [ADSI 編輯]。

Create 新的群組,並將其新增至未同步的內建群組

若要解決某些內建群組 (例如網域使用者群組) 未同步的問題,請建立新的群組,其中包含內建群組的所有適用成員和適當許可權。 然後,將該群組新增為未同步內建群組的成員。 使用新的群組,而不是內建群組來管理成員。 使用此方法,您仍然只會管理一個群組。

您不想要變更內建群組的屬性,或變更身分識別同步設備的範圍規則,以允許同步處理重要的系統物件。 這可能會觸發其他非預期的行為。

使用 SMTP 比對可讓內部部署用戶物件同步至現有的用戶物件

如需詳細資訊,請參閱如何使用 SMTP 比對來比對內部部署用戶帳戶,以 Office 365 用戶帳戶進行目錄同步處理

手動更新用戶帳戶 UPN

若要更新初始目錄同步處理之後授權的用戶帳戶 UPN,請遵循下列步驟:

  1. 安裝 Azure Active Directory v2 PowerShell 模組。 如需詳細資訊,請參閱 Azure Active Directory v2 PowerShell 模組

  2. 在 Azure Active Directory v2 PowerShell 提示字元中執行下列 Cmdlet:

    $cred = get-credential
    

    注意事項

    當系統提示您時,請輸入您的系統管理員認證。

    Connect-AzureAD
    
    Set-AzureADUser -ObjectId [CurrentUPN] -UserPrincipalName [NewUPN]
    

使用 內部部署的 Active Directory 屬性更新使用者 SMTP 位址

當 SMTP 屬性未以預期的方式同步至 Exchange Online 時,您可能必須更新 內部部署的 Active Directory 屬性。 若要更新 內部部署的 Active Directory 屬性,以便在 Exchange Online 中顯示正確的電子郵件位址,請使用解析 2 來操作下表中的屬性。

內部部署 Active Directory 屬性名稱 範例內部部署 Active Directory 屬性值 Exchange Online 電子郵件地址範例
proxyAddresses Smtp:user1@contoso.com 主要 SMTP: user1@contoso.com
次要 SMTP: user1@contoso.onmicrosoft.com
proxyAddresses Smtp:user1@contoso.com 主要 SMTP: user1@contoso.onmicrosoft.com 次要 SMTP: user1@contoso.com
proxyAddresses Smtp:user1@contoso.com
Smtp:user1@sub.contoso.com
主要 SMTP: user1@contoso.com
次要 SMTP: user1@sub.contoso.com
次要 SMTP: user1@contoso.onmicrosoft.com
mail User1@contoso.com 主要 SMTP: user1@contoso.com
次要 SMTP: user1@contoso.onmicrosoft.com
UserPrincipalName User1@contoso.com 主要 SMTP: user1@contoso.com
次要 SMTP: user1@contoso.onmicrosoft.com

與預設網域 (如) 相關聯的 MICROSOFT Online Email 路由位址 (MOERA) user1@contoso.onmicrosoft.com 專案是以使用者帳戶別名為基礎的解譯值。 這個特殊電子郵件位址會以無限制的方式連結到每個 Exchange Online 收件者。 您無法管理、刪除或建立任何收件者的額外MOERA位址。 不過,您可以使用 內部部署的 Active Directory 用戶物件中的屬性,將MOERA位址過度套用為主要SMTP位址。

注意事項

proxyAddresses 屬性中存在的數據會完全遮罩郵件屬性中 Exchange Online 電子郵件地址擴展的數據。

注意事項

proxyAddresses 屬性、郵件屬性或兩個屬性中的數據是否存在,會完全遮罩 Exchange Online 電子郵件地址母體擴展的UserPrincipalName數據。 UPN 可用來管理電子郵件位址。 不過,系統管理員可以藉由填入 proxyAddresses 或郵件屬性,來決定個別管理電子郵件位址和 UPN。

強烈建議您一致地使用其中一個屬性來管理已同步使用者 Exchange Online 電子郵件位址。

其他相關資訊

本文中提及的 Windows PowerShell 命令需要適用於 Windows PowerShell 的 Azure Active Directory 模組。 如需適用於 Windows PowerShell 的 Azure Active Directory 模組詳細資訊,請參閱下列文章:
使用 Windows PowerShell 管理 Microsoft Entra ID

如需依屬性篩選目錄同步處理的詳細資訊,請參閱下列 Microsoft TechNet Wiki 文章:
Azure Active Directory 同步處理工具同步處理的屬性清單

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群