疑難排解同步處理錯誤
將身分識別資料從 Windows Server Active Directory (AD DS) 同步到 Microsoft Entra ID 時,可能會發生錯誤。 本節概述不同類型的同步處理錯誤、部份可能會導致這些錯誤的案例,以及修正錯誤的可能方法。 本節包含常見的錯誤類型,不一定涵蓋所有可能的錯誤。
使用最新版的 Microsoft Entra Connect,在 Azure 入口網站中可取得「同步處理錯誤」報告作為 Microsoft Entra Connect Health for Sync 的一部分。
Microsoft Entra Connect 會從其保持同步的目錄執行三種類型的作業:匯入、同步處理和匯出。 所有作業都可能會發生錯誤。 本節主要著重於匯出至 Microsoft Entra ID 期間的錯誤。
匯出至 Microsoft Entra ID 期間發生錯誤
下一節說明使用 Microsoft Entra 連接器匯出至 Microsoft Entra ID 的作業期間內可能發生的各類型同步處理錯誤。 此連接器可經由 contoso.onmicrosoft.com
格式的名稱加以識別。 匯出至 Microsoft Entra ID 期間發生的錯誤,表示 Microsoft Entra Connect (同步處理引擎) 在 Microsoft Entra 目錄上嘗試的新增、更新、刪除等作業失敗。
資料不符錯誤
InvalidSoftMatch
描述
- 當 Microsoft Entra Connect (同步處理引擎) 指示目錄新增或更新物件時,Microsoft Entra ID 會比對使用 sourceAnchor 屬性的傳入物件與 Microsoft Entra ID 中物件的 immutableId 屬性。 此種比對稱為完全比對。
- 當 Microsoft Entra ID 找不到任何 immutableId 屬性與連入物件之 sourceAnchor 屬性相符的物件時,會在佈建新物件之前,改回使用 ProxyAddresses 和 UserPrincipalName 屬性來尋找相符項目。 此種比對稱為大致比對。 大致比對旨在將 Microsoft Entra ID 中已存在的物件,與將在同步處理期間新增/更新以代表內部部署中相同實體 (使用者、群組) 的新物件進行比對。
- InvalidSoftMatch 錯誤發生於完全比對找不到任何相符物件,且大致比對找到相符物件,但該物件的 immutableId 值不同於連入物件的 SourceAnchor 值時 (可能是因為相符物件已與內部部署 Active Directory 中的另一個物件同步)。
換句話說,若要讓大致比對正常運作,要進行大致比對的物件不應該有任何 immutableId 值。 如果任何已設定 immutableId 值的物件完全比對失敗,但滿足大致比對準則,則作業會導致發生 InvalidSoftMatch 同步處理錯誤。
Microsoft Entra 結構描述不允許兩個或多個物件的下列屬性具有相同的值。 (這不是詳盡的清單。)
- ProxyAddresses
- UserPrincipalName
- onPremisesSecurityIdentifier
- ObjectId
我們也將推出 Microsoft Entra 屬性的 [重複屬性復原] 功能作為 Microsoft Entra ID 的預設行為。 這可讓 Microsoft Entra ID 處理內部部署 AD 環境中存在的重複 ProxyAddresses 和 UserPrincipalName 屬性,藉此提高復原性,進而減少 Microsoft Entra Connect (及其他同步用戶端) 所看到的同步處理錯誤數目。 此功能不會修正重複錯誤。 因此,仍須修正資料。 但可讓您佈建由於 Microsoft Entra ID 中的重複值而無法佈建的新物件。 這也會減少傳回至同步處理用戶端的同步處理錯誤數目。 如果您的租用戶已啟用這項功能,則不會看到佈建新物件期間所看到的 InvalidSoftMatch 同步處理錯誤。
InvalidSoftMatch 的範例案例
- 內部部署 Active Directory 中存在兩個或多個具有相同 ProxyAddresses 屬性值的物件。 只有一個會在 Microsoft Entra ID 中佈建。
- 內部部署 Active Directory 中存在兩個或多個具有相同 userPrincipalName 屬性值的物件。 只有一個會在 Microsoft Entra ID 中佈建。
- 內部部署 Active Directory 中新增的物件具有與 Microsoft Entra 中現有物件相同的 ProxyAddresses 屬性值。 在內部部署新增的物件不會在 Microsoft Entra 中佈建。
- 內部部署 Active Directory 中新增的物件具有與 Microsoft Entra ID 中帳戶相同的 userPrincipalName 屬性值。 物件未在 Microsoft Entra ID 中佈建。
- 同步帳戶已從樹系 A 移至樹系 B。Microsoft Entra Connect (同步引擎) 使用 ObjectGUID 屬性來計算 SourceAnchor。 在樹系移動之後,SourceAnchor 的值會不同。 新物件 (來自樹系 B) 將無法與 Microsoft Entra ID 中的現有物件同步。
- 意外從內部部署 Active Directory 刪除了同步物件,並在 Active Directory 中針對相同的實體 (例如使用者) 建立新的物件,而未刪除 Microsoft Entra ID 中的帳戶。 新帳戶無法與現有 Microsoft Entra 物件同步。
- 已解除安裝並重新安裝 Microsoft Entra Connect。 在重新安裝期間,選擇了不同的屬性作為 SourceAnchor。 所有先前同步的物件都會停止同步,並出現 InvalidSoftMatch 錯誤。
範例案例︰
Bob Smith 在來自 contoso.com 之內部部署 Active Directory 的 Microsoft Entra ID 中,是同步處理的使用者
Bob Smith 的 UserPrincipalName 已設定為 bobs@contoso.com。
"abcdefghijklmnopqrstuv==" 是 Microsoft Entra Connect 使用內部部署 Active Directory 中 Bob Smith 的 objectGUID 計算的 SourceAnchor,這是 Microsoft Entra ID 中 Bob Smith 的 immutableId。
Bob 也具有下列 proxyAddresses 屬性值:
- smtp: bobs@contoso.com
- smtp: bob.smith@contoso.com
- smtp: bob@contoso.com
新使用者 Bob Taylor 已新增至內部部署 Active Directory。
Bob Taylor 的 UserPrincipalName 已設定為 bobt@contoso.com。
"abcdefghijkl0123456789=="" 是 Microsoft Entra Connect 使用內部部署 Active Directory 中 Bob Taylor 的 objectGUID 計算的 sourceAnchor。 Bob Taylor 的物件尚未同步處理至 Microsoft Entra ID。
Bob Taylor 具有下列 proxyAddresses 屬性值
- smtp: bobt@contoso.com
- smtp: bob.taylor@contoso.com
- smtp: bob@contoso.com
在同步期間,Microsoft Entra Connect 辨識到內部部署 Active Directory 中新增了 Bob Taylor,並要求 Microsoft Entra ID 進行相同的變更。
Microsoft Entra ID 會先執行完全比對。 也就是說,它會搜尋是否有任何 immutableId 等於 "abcdefghijkl0123456789==" 的物件。 完全比對會失敗,因為 Microsoft Entra ID 中沒有其他物件具有該 immutableId。
Microsoft Entra ID 會接著嘗試大致比對 Bob Taylor。 也就是說,它會搜尋是否有任何 proxyAddresses 等於上述三個值 (包括 smtp: bob@contoso.com) 的物件
Microsoft Entra ID 會尋找 Bob Smith 的物件以根據大致比對準則進行比對。 但此物件的 immutableId 值等於 "abcdefghijklmnopqrstuv=="。 這表示此物件是從內部部署 Active Directory 中的另一個物件同步而來。 因此,Microsoft Entra ID 無法大致比對這些物件,並會導致發生 InvalidSoftMatch 同步錯誤。
如何修正 InvalidSoftMatch 錯誤
InvalidSoftMatch 錯誤的最常見原因是兩個具有不同 SourceAnchor (immutableId) 的物件具有相同的 ProxyAddresses 和/或 UserPrincipalName 屬性值,而這兩個物件使用於 Microsoft Entra ID 上的大致比對程序。 若要修正無效的大致比對
- 找出造成錯誤的重複 proxyAddresses、userPrincipalName 或其他屬性值。 同時找出哪兩個 (或多個) 物件與衝突有關。 Microsoft Entra Connect Health for Sync 所產生的報告可協助您找出這兩個物件。
- 找出哪個物件應該繼續具有重複的值,以及哪個物件不應該具有該值。
- 從不應該具有重複值的物件移除該值。 您應該在物件的來源目錄中進行變更。 在某些情況下,您可能需要刪除其中一個衝突的物件。
- 如果您在內部部署 AD 中進行變更,請讓 Microsoft Entra Connect 同步變更。
Microsoft Entra Connect Health for Sync 的同步錯誤報告會每隔 30 分鐘更新一次,並包含最近同步處理嘗試的錯誤。
注意
根據定義,ImmutableId 不得在物件的存留期間變更。 如果設定 Microsoft Entra Connect 時未牢記上述清單中的一些案例,您最後可能會發生下列情況:Microsoft Entra Connect 計算 Microsoft Entra 物件的不同 SourceAnchor 值,但該物件代表具有您要繼續使用之現有 Microsoft Entra 物件的相同實體 (相同使用者/群組/連絡人等)。
ObjectTypeMismatch
描述
當 Microsoft Entra ID 嘗試大致比對兩個物件時,兩個不同「物件類型」(例如使用者、群組、連絡人等) 的物件可能具有相同的屬性值來執行大致比對。 由於 Microsoft Entra 中不允許這些屬性重複,因此作業可能會導致發生 "ObjectTypeMismatch" 同步處理錯誤。
ObjectTypeMismatch 錯誤的案例範例
- 在 Microsoft 365 中建立已啟用郵件的安全性群組。 管理員會使用與 Microsoft 365 群組相同的 ProxyAddresses 屬性值,在內部部署 AD (尚未同步處理至 Microsoft Entra ID) 中新增使用者或連絡人。
範例案例
- 管理員在 Microsoft 365 中針對稅務部門建立擁有郵件功能的新安全性群組,並為其提供電子郵件地址 tax@contoso.com。 將 smtp: tax@contoso.com 的 ProxyAddresses 屬性值指派給這個群組
- 新使用者加入 Contoso.com,並針對 proxyAddress 為 smtp: tax@contoso.com 的內部部署使用者建立帳戶
- 當 Microsoft Entra Connect 將同步新的使用者帳戶時,就會收到 "ObjectTypeMismatch" 錯誤。
如何修正 ObjectTypeMismatch 錯誤
ObjectTypeMismatch 錯誤的最常見原因是兩個不同類型 (使用者、群組、連絡人等) 的物件具有相同的 ProxyAddresses 屬性值。 若要修正 ObjectTypeMismatch:
- 找出造成錯誤的重複 proxyAddresses (或其他屬性) 值。 同時找出哪兩個 (或多個) 物件與衝突有關。 Microsoft Entra Connect Health for Sync 所產生的報告可協助您找出這兩個物件。
- 找出哪個物件應該繼續具有重複的值,以及哪個物件不應該具有該值。
- 從不應該具有重複值的物件移除該值。 您應該在物件的來源目錄中進行變更。 在某些情況下,您可能需要刪除其中一個衝突的物件。
- 如果您在內部部署 AD 中進行變更,請讓 Microsoft Entra Connect 同步變更。 Microsoft Entra Connect Health for Sync 的同步錯誤報告會每隔 30 分鐘更新一次,並包含最近同步處理嘗試的錯誤。
重複的屬性
AttributeValueMustBeUnique
描述
Microsoft Entra 結構描述不允許兩個或多個物件的下列屬性具有相同的值。 也就是強制 Microsoft Entra ID 中的每個物件在指定的執行個體具有這些屬性的唯一值。
- ProxyAddresses
- UserPrincipalName
如果 Microsoft Entra Connect 嘗試新增物件,或使用已指派給 Microsoft Entra ID 中另一個物件的上述屬性值更新現有物件,作業會導致發生 "AttributeValueMustBeUnique" 同步錯誤。
可能的案例:
對已同步的物件指派了重複的值,但該物件與另一個同步物件發生衝突。
範例案例︰
Bob Smith 在來自 contoso.com 之內部部署 Active Directory 的 Microsoft Entra ID 中,是同步處理的使用者
Bob Smith 的內部部署 UserPrincipalName 已設定為 bobs@contoso.com。
Bob 也具有下列 proxyAddresses 屬性值:
- smtp: bobs@contoso.com
- smtp: bob.smith@contoso.com
- smtp: bob@contoso.com
新使用者 Bob Taylor 已新增至內部部署 Active Directory。
Bob Taylor 的 UserPrincipalName 已設定為 bobt@contoso.com。
Bob Taylor 具有 ProxyAddresses 屬性的下列值:i. smtp:bobt@contoso.com ii. smtp:bob.taylor@contoso.com
Bob Taylor 物件已成功與 Microsoft Entra ID 同步。
系統管理員決定使用下列值更新 Bob Taylor 的 ProxyAddresses 屬性:i. smtp:bob@contoso.com
Microsoft Entra ID 將嘗試使用上述值更新 Bob Taylor 在 Microsoft Entra ID 中的物件,但該作業會失敗,因為該 ProxyAddresses 值已指派給 Bob Smith,而導致發生 "AttributeValueMustBeUnique" 錯誤。
如何修正 AttributeValueMustBeUnique 錯誤
AttributeValueMustBeUnique 錯誤的最常見原因是兩個具有不同 SourceAnchor (immutableId) 的物件具有相同的 ProxyAddresses 和/或 UserPrincipalName 屬性值。 若要修正 AttributeValueMustBeUnique 錯誤
- 找出造成錯誤的重複 proxyAddresses、userPrincipalName 或其他屬性值。 同時找出哪兩個 (或多個) 物件與衝突有關。 Microsoft Entra Connect Health for Sync 所產生的報告可協助您找出這兩個物件。
- 找出哪個物件應該繼續具有重複的值,以及哪個物件不應該具有該值。
- 從不應該具有重複值的物件移除該值。 您應該在物件的來源目錄中進行變更。 在某些情況下,您可能需要刪除其中一個衝突的物件。
- 如果您在內部部署 AD 中進行變更,請讓 Microsoft Entra Connect 同步變更,以便修正錯誤。
資料驗證失敗
IdentityDataValidationFailed
描述
Microsoft Entra ID 會先對資料本身強制執行各種限制,然後才允許該資料寫入目錄中。 這些限制是為了確保使用者在使用相依於這項資料的應用程式時,能獲得最棒的體驗。
案例
UserPrincipalName 屬性值具有無效/不支援的字元。 b. UserPrincipalName 屬性未遵循所需的格式。
如何修正 IdentityDataValidationFailed 錯誤
確定 userPrincipalName 屬性具有支援的字元和所需的格式。
FederatedDomainChangeError
描述
這種情況會在使用者的 UserPrincipalName 尾碼從一個同盟網域變更為另一個同盟網域時,導致發生 "FederatedDomainChangeError" 同步錯誤。
案例
同步使用者的 UserPrincipalName 尾碼已從一個同盟網域變更為另一個內部部署同盟網域。 例如,UserPrincipalName = bob@contoso.com 已變更為 UserPrincipalName = bob@fabrikam.com。
範例
- Bob Smith (contoso.com 的帳戶) 新增為 Active Directory 中具有 UserPrincipalName bob@contoso.com 的新使用者
- Bob 移至不同的 Contoso.com 部門,稱為 Fabrikam.com,且 UserPrincipalName 變更為 bob@fabrikam.com
- Contoso.com 和 fabrikam.com 網域都是使用 Microsoft Entra ID 的同盟網域。
- Bob 的 userPrincipalName 不會更新,並導致發生 "FederatedDomainChangeError" 同步錯誤。
LargeObject
描述
當屬性超過 Microsoft Entra 結構描述所設定的允許大小限制、長度限制或計數限制時,同步處理作業會導致發生 LargeObject 或 ExceededAllowedLength 同步錯誤。 此錯誤通常會發生於下列屬性
- userCertificate
- userSMIMECertificate
- thumbnailPhoto
- proxyAddresses
可能的案例
- Bob 的 userCertificate 屬性儲存太多指派給 Bob 的憑證。 這些可能包含已過期的舊版憑證。 固定限制為 15 個憑證。
- Bob 的 userSMIMECertificate 屬性儲存太多指派給 Bob 的憑證。 這些可能包含已過期的舊版憑證。 固定限制為 15 個憑證。
- Bob 在 Active Directory 中設定的 thumbnailPhoto 太大,以致於無法在 Microsoft Entra ID 中進行同步。
- 在 Active Directory 中自動填入 ProxyAddresses 屬性期間,一個物件指派了太多 ProxyAddresses。
修正方法
確定造成錯誤的屬性在允許的限制內。
管理員角色衝突
描述
當使用者物件符合下列條件時,使用者物件在同步處理期間就會發生現有的系統管理員角色衝突:
- 具有系統管理權限,而且
- 其 UserPrincipalName 與現有的 Microsoft Entra 物件相同
不允許 Microsoft Entra Connect 大致比對內部部署 AD 中的使用者物件與 Microsoft Entra ID 中獲指派系統管理角色的使用者物件。
修正方法
若要解決這個問題,請執行下列動作:
- 從所有管理員角色中移除 Microsoft Entra 帳戶 (擁有者)。
- 實刪除雲端中的 Quarantined 物件。
- 下一個同步處理週期將會負責將內部部署使用者與雲端帳戶進行大致比對 (因為雲端使用者現在已不再是全域 GA)。
- 還原擁有者的角色成員資格。
注意
當內部部署使用者物件與 Microsoft Entra 使用者物件之間的大致比對完成之後,您可以再次將系統管理角色指派給現有使用者物件。