身分識別同步處理和重複屬性恢復功能

重複屬性復原是 Microsoft Entra 識別符中的一項功能,可在執行其中一個 Microsoft 同步處理工具時,消除 UserPrincipalName 和 SMTP ProxyAddress 衝突所造成的摩擦。

這兩個屬性通常需要在指定 Microsoft Entra 租使用者中的所有使用者群組聯繫人物件中是唯一的。

注意

只有使用者才能有UPN。

這項功能啟用的新行為位於同步管線的雲端部分,因此與任何 Microsoft 同步處理產品無關,包括 Microsoft Entra 連線、DirSync 和 MIM + 連線 or。 本檔中使用「同步用戶端」一般詞彙來代表其中一項產品。

目前的行為

如果嘗試使用 UPN 或 ProxyAddress 值布建違反此唯一性條件約束的新物件,Microsoft Entra ID 會封鎖該物件建立。 同樣地,如果物件以非唯一 UPN 或 ProxyAddress 更新,更新就會失敗。 每次匯出週期時,同步客戶端都會重試布建嘗試或更新,並持續失敗,直到衝突解決為止。 每次嘗試時都會產生錯誤報告電子郵件,同步處理用戶端會記錄錯誤。

具有重複屬性復原的行為

Microsoft Entra ID 會「隔離」重複屬性,而不是完全無法布建或更新具有重複屬性的物件,而會違反唯一性條件約束。 如果布建需要此屬性,例如UserPrincipalName,服務會指派佔位元元值。 這些暫存值的格式為
<OriginalPrefix>+<4DigitNumber>@<InitialTenantDomain.onmicrosoft.com>

屬性復原程式只會處理UPN和SMTP ProxyAddress 值。

如果不需要屬性,例如 ProxyAddress,Microsoft Entra ID 只會隔離衝突屬性,並繼續建立或更新物件。

在隔離 屬性時,衝突的相關信息會在舊行為中使用的相同錯誤報告電子郵件中傳送。 不過,這項資訊只會出現在錯誤報告中一次,當隔離發生時,它不會繼續記錄在未來的電子郵件中。 此外,由於此對象的匯出成功,同步處理用戶端不會記錄錯誤,也不會在後續的同步處理週期重試建立/更新作業。

為了支援此行為,已將新屬性新增至使用者、群組和 Contact 物件類別:
DirSyncProvisioningErrors

這是多重值屬性,用來儲存衝突屬性,如果通常會加入唯一性條件約束,就會違反唯一性條件約束。 Microsoft Entra ID 中已啟用背景定時器工作,每小時執行一次,以尋找已解決的重複屬性衝突,並自動從隔離區移除有問題的屬性。

啟用重複的屬性復原

重複的屬性復原是所有 Microsoft Entra 租使用者的新預設行為。 在 2016 年 8 月 22 日或更新版本第一次啟用同步處理的所有租用戶預設會開啟。 在此日期之前啟用同步處理的租使用者將會以批次方式啟用此功能。 此首度發行將於 2016 年 9 月開始,且會傳送電子郵件通知給每個租用戶的技術通知連絡人,以及啟用此功能的特定日期。

注意

一旦開啟重複屬性恢復功能,就無法停用。

若要檢查您的租使用者是否已啟用此功能,您可以下載最新版的 Azure Active Directory PowerShell 模組並執行:

Get-MsolDirSyncFeatures -Feature DuplicateUPNResiliency

Get-MsolDirSyncFeatures -Feature DuplicateProxyAddressResiliency

注意

您無法再使用 Set-MsolDirSyncFeature Cmdlet,在租用戶開啟重複屬性恢復功能之前主動啟用此功能。 若要能夠測試此功能,您必須建立新的 Microsoft Entra 租使用者。

注意

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

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

識別具有 DirSyncProvisioningErrors 的物件

目前有兩種方法可識別因屬性衝突、Azure Active Directory PowerShell 和 Microsoft 365 系統管理中心 而發生這些錯誤的物件。 未來有一些計劃擴充至其他入口網站型報告。

Azure Active Directory PowerShell

針對本主題中的 PowerShell Cmdlet,下列為 true:

  • 下列所有 Cmdlet 都會區分大小寫。
  • 必須一律包含 –ErrorCategory 屬性Conflict。 目前沒有其他類型的 ErrorCategory,但未來可能會擴充。

首先,開始執行 連線-MsolService,並輸入租用戶系統管理員的認證。

然後,使用下列 Cmdlet 和運算符,以不同的方式檢視錯誤:

  1. 查看所有
  2. 依屬性類型
  3. 衝突值
  4. 使用字串搜尋
  5. 排序
  6. 在有限數量或全部

查看全部

線上之後,若要查看租用戶中屬性布建錯誤的一般清單:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict

這會產生如下的結果:
Get-MsolDirSyncProvisioningError

依屬性類型

若要查看依屬性類型的錯誤,請使用 UserPrincipalNameProxyAddresses 自變數新增 -PropertyName 旗標

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyName UserPrincipalName

Or

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyName ProxyAddresses

藉由衝突值

若要查看與特定屬性相關的錯誤,請新增 -PropertyValue 旗標 (-PropertyName 也必須在新增此旗標時使用):

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyValue User@domain.com -PropertyName UserPrincipalName

若要執行廣泛的字串搜尋, 請使用 -SearchString 旗標。 這可以獨立於上述所有旗標使用,但 -ErrorCategory PropertyConflict 除外,這一律為必要專案:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -SearchString User

在有限的數量或全部

  1. MaxResults <Int> 可用來將查詢限制為特定的值數目。
  2. 所有 專案都可以用來確保擷取所有結果,以防有大量的錯誤存在。

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -MaxResults 5

Microsoft 365 系統管理中心

您可以在 Microsoft 365 系統管理中心檢視目錄同步處理錯誤。 Microsoft 365 系統管理中心 中的報表只會顯示有這些錯誤的User物件。 它不會顯示群組聯繫人之間衝突的相關信息。

顯示 Microsoft 365 系統管理中心 中目錄同步處理錯誤的螢幕快照。

如需如何在 Microsoft 365 系統管理中心 中檢視目錄同步處理錯誤的指示,請參閱識別 Microsoft 365 中的目錄同步處理錯誤。

身分識別同步處理錯誤報告

處理具有重複屬性衝突的物件時,會將通知包含在傳送給租用戶技術通知聯繫人的標準身分識別同步處理錯誤報告電子郵件中。 不過,此行為有一個重要的變更。 在過去,重複屬性衝突的相關信息會包含在每次後續的錯誤報告中,直到衝突解決為止。 有了這個新行為,指定衝突的錯誤通知只會在衝突屬性隔離時出現一次。

以下是 ProxyAddress 衝突的電子郵件通知外觀範例:
顯示 ProxyAddress 衝突電子郵件通知範例的螢幕快照。

解決衝突

這些錯誤的疑難解答策略和解決策略不應與過去處理重複屬性錯誤的方式不同。 唯一的差別在於定時器工作會掃掠服務端的租使用者,以在衝突解決之後,自動將有問題的 屬性新增至適當的物件。

下列文章概述各種疑難解答和解決策略: 重複或無效的屬性可防止 Office 365 中的目錄同步處理。

已知問題

這些已知問題都不會造成數據遺失或服務降低。 其中幾個是美學,其他會導致擲回標準「復原前」重複屬性錯誤,而不是將衝突屬性隔離,另一個則會導致某些錯誤需要額外的手動修正。

核心行為:

  1. 具有特定屬性組態的物件會繼續接收導出錯誤,而不是隔離重複的屬性。
    例如:

    a. 新的使用者是使用 UPN 和 Joe@contoso.com ProxyAddress smtp 在 AD 中建立:Joe@contoso.com

    b. 這個對象的屬性與現有的 Group 衝突,其中 ProxyAddress 是 SMTP:Joe@contoso.com

    c. 匯出時, 會擲回 ProxyAddress 衝突 錯誤,而不是隔離衝突屬性。 每次後續的同步處理週期都會重試作業,就像啟用復原功能之前一樣。

  2. 如果使用相同的 SMTP 位址在內部部署建立兩個群組,則第一次嘗試時無法布建一個群組,並出現標準重複 ProxyAddress 錯誤。 不過,在下一個同步處理週期時,重複的值會適當地隔離。

Office 入口網站報告

  1. UPN 衝突集中兩個物件的詳細錯誤訊息相同。 這表示他們兩者都已變更/隔離UPN,而實際上只有其中一個數據已變更。

  2. UPN 衝突的詳細錯誤訊息會顯示已變更/隔離 UPN 的使用者錯誤 displayName。 例如:

    a. 使用者 A 會先同步處理 UPN = User@contoso.com

    b. 下一步嘗試同步處理使用者 B 與 UPN = User@contoso.com

    c. 使用者 B 的 UPN 已變更為 User1234@contoso.onmicrosoft.com ,並 User@contoso.com 新增至 DirSyncProvisioningErrors

    d. 使用者 B 的錯誤訊息應該表示使用者 A 已作為 User@contoso.com UPN,但它會顯示使用者 B 自己的 displayName。

身分識別同步處理錯誤報告

如何解決此問題的步驟連結不正確:
使用中使用者

它應該指向 https://aka.ms/duplicateattributeresiliency

另請參閱