身分識別同步處理和重複屬性恢復功能
在 Microsoft Entra ID 中,「重複屬性容錯」是一個功能,可消除當使用 Microsoft 的同步工具時,由 UserPrincipalName 和 SMTP ProxyAddress 衝突引起的摩擦。
這兩個屬性在特定的 Microsoft Entra 租戶中,所有 User、Group或 Contact 物件中必須是唯一的。
注意
只有使用者可以擁有 UPN。
這項功能啟用的新行為位於同步管線的雲端部分,因此與任何 Microsoft 同步處理產品相關,包括 Microsoft Entra Connect、DirSync 和 MIM + Connector,且不受特定用戶端限制。 在本文件中,通用詞彙「同步用戶端」將用來代表上述任何一項產品。
目前的行為
如果嘗試佈建的新物件具有違反此唯一性限制式的 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,下列項目為真︰
- 下列所有 Cmdlet 都會區分大小寫。
- 一律包含 –ErrorCategory PropertyConflict 。 目前沒有其他類型的 ErrorCategory,但可能會在未來加以擴充。
首先,執行 Connect-MsolService 並輸入租用戶系統管理員的認證。
接著,使用下列 Cmdlet 和運算子,以不同的方式檢視錯誤︰
查看全部
連線之後,若要查看租用戶執行中屬性佈建錯誤的一般清單︰
Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict
這會產生如下所示的結果︰
依屬性類型
若要依屬性類型查看錯誤,請搭配 UserPrincipalName 或 ProxyAddresses 引數新增 -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
以有限的數量或全部
- MaxResults <Int> 可用來將查詢的值數量限制為特定數目。
- All 可用於確保在有大量錯誤的情況下擷取所有的結果。
Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -MaxResults 5
Microsoft 365 系統管理中心
您可以在 Microsoft 365 系統管理中心檢視目錄同步處理錯誤。 Microsoft 365 系統管理中心內的報表只會顯示有這些錯誤的使用者物件。 它不會顯示 群組 與 聯繫人之間衝突的相關信息。
如需如何在 Microsoft 365 系統管理中心檢視目錄同步處理錯誤的指示,請參閱在 Microsoft 365 中識別目錄同步處理錯誤。
身分識別同步處理錯誤報告
當具有重複屬性衝突的物件使用此新行為處理時,會將通知包含在傳送給租用戶技術通知聯繫人的標準身分識別同步處理錯誤報告電子郵件中。 不過,此行為有一項重大變更。 在過去,重複屬性衝突的相關資訊會包含在每個後續的錯誤報告中,直到解決衝突為止。 利用這個新行為,給定衝突的錯誤通知只會出現一次 - 在衝突的屬性遭到隔離時。
ProxyAddress 衝突的電子郵件通知範例如下所示︰
解決衝突
這些錯誤的疑難解答策略和解決策略不應與過去處理重複屬性錯誤的方式不同。 唯一的差別在於計時器工作將會掃掠服務端上的租用戶,以在衝突解決後,自動將有問題的屬性新增至適當的物件。
下列文章概述各種疑難排解和解決策略︰ 重複或無效的屬性會防止在 Office 365 中進行目錄同步作業。
已知問題
沒有任何已知問題會導致資料遺失或服務降級。 其中有幾個是美觀的問題,其他問題會導致擲回標準「恢復前」重複屬性錯誤,而不是隔離衝突屬性,而別的問題會導致特定錯誤需要額外的手動修復。
核心行為︰
具有特定屬性組態的物件會繼續收到匯出錯誤,而不是將重複屬性隔離。
例如:a. AD 會以 UPN 為 Joe@contoso.com、ProxyAddress 為 smtp:Joe@contoso.com 的方式建立新使用者
b. 此物件的屬性會與 ProxyAddress 為 SMTP:Joe@contoso.com 的現有「群組」發生衝突。
c. 匯出時,會擲回「ProxyAddress 衝突」 錯誤,而不是將衝突屬性隔離。 此作業會在每個後續的同步處理週期中重試,就如同在啟用恢復功能之前一樣。
如果在內部部署上建立兩個具有相同 SMTP 位址的群組,則會在第一次嘗試時佈建失敗並發生標準的重複 ProxyAddress 錯誤。 不過,重複值會在下一個同步處理週期時被適當隔離。
Office 入口網站報告:
UPN 衝突集中兩個物件的詳細錯誤訊息是相同的。 這表示它們都已變更 / 隔離 UPN,當事實上只有其中一個變更了資料。
UPN 衝突的詳細錯誤訊息會顯示 UPN 已變更或被隔離的使用者錯誤顯示名稱。 例如:
a. User A 會先與 UPN = User@contoso.com 同步。
b. 接著,會嘗試將 User B 與 User@contoso.comUPN = 同步。
c. 使用者 B 的 UPN 會變更為 User1234@contoso.onmicrosoft.com,而 User@contoso.com 會新增至 DirSyncProvisioningErrors。
d. 使用者 B 的錯誤訊息應該指出使用者 A 已經有 User@contoso.com 做為 UPN,但顯示的卻是使用者 B 自己的 displayName。
身分識別同步處理錯誤報告:
「如何解決此問題的步驟」的連結不正確:
連結應該指向 https://aka.ms/duplicateattributeresiliency。