共用方式為


Microsoft Entra Connect 同步:處理因 userCertificate 屬性導致的 LargeObject 錯誤

Microsoft Entra ID 會在 userCertificate 屬性上強制執行 15 個 憑證值的最大限制。 如果 Microsoft Entra Connect 將包含超過 15 個值的物件匯出至 Microsoft Entra ID,Microsoft Entra ID 會傳回錯誤訊息為 LargeObject

「配置的物件太大。」 修剪這個物件上的屬性值數目。 作業將會在下一個同步處理週期中重試...」

LargeObject 錯誤可能是由其他 AD 屬性所造成。 若要確認是否由 userCertificate 屬性引起,請在內部部署 AD 或 Synchronization Service Manager Metaverse 搜尋中對照確認該物件。

若要取得租用戶中發生 LargeObject 錯誤的物件清單,請使用下列其中一種方法:

風險降低選項

在解決 LargeObject 錯誤之前,無法將相同物件的其他屬性變更匯出至Microsoft Entra ID。 若要解決錯誤,您可以考慮下列選項:

  • 升級 Microsoft Entra Connect 至版本 1.1.524.0 或更高版本。 在 Microsoft Entra Connect 組建 1.1.524.0 中,現成的同步處理規則已更新,不再匯出屬性 userCertificate 和 userSMIMECertificate,如果這些屬性超過 15 個值。 如需如何升級Microsoft Entra Connect 的詳細資訊,請參閱 Microsoft Entra Connect:從舊版升級至最新一文。

  • 在 Microsoft Entra Connect 中實作 輸出同步處理規則,以匯出 null 值,而不是具有超過 15 個憑證值之物件的實際值。 如果您不需要將任何憑證值匯出至 Microsoft Entra ID,並且物件具有超過 15 個值,此選項適合使用。 如需如何實作此同步處理規則的詳細資訊,請參閱下一節 實作同步處理規則以限制 userCertificate 屬性的匯出

  • 拿掉貴組織不再使用的值,以減少內部部署 AD 物件上憑證值的數目(15 或更少)。 如果過期或未使用的憑證導致屬性膨脹,這是相當合適的。 您可以使用 Cmdlet Remove-ADSyncToolsExpiredCertificates,協助您在內部部署 AD 中尋找、備份和刪除過期的憑證。 刪除憑證之前,建議您先向組織中的公用Key-Infrastructure 系統管理員進行驗證。

  • 設定 Microsoft Entra Connect,將 userCertificate 屬性排除在匯出至 Microsoft Entra ID 的項目之外。 一般而言,我們不建議使用此選項,因為 Microsoft Online Services 可能會使用 屬性來啟用特定案例。 特別是

實作同步處理規則以限制userCertificate屬性的導出

若要解決 userCertificate 屬性所造成的 LargeObject 錯誤,您可以在 Microsoft Entra Connect 中實作輸出同步處理規則,以匯出 null 值,而不是具有超過 15 個憑證值之對象的實際值,。 本節描述實作 使用者 物件同步處理規則所需的步驟。 這些步驟可以針對 ContactComputer 物件進行調整。

重要

匯出空值會移除先前成功匯出至 Microsoft Entra ID 的憑證值。

這些步驟摘要如下:

  1. 停用同步排程器,並確認沒有任何同步處理進行中。
  2. 尋找 userCertificate 屬性的現有輸出同步處理規則。
  3. 建立所需的輸出同步處理規則。
  4. 驗證現有物件上的新同步規則出現 LargeObject 錯誤。
  5. 將新的同步處理規則套用至具有 LargeObject 錯誤的其餘物件。
  6. 確認沒有任何意外的變更等待匯出至 Microsoft Entra ID。
  7. 將變更導出至 Microsoft Entra ID。
  8. 重新啟用同步排程器。

步驟 1:停用同步排程器,並確認沒有任何同步處理進行中

請確定您在實作新的同步處理規則時不會進行同步處理,以避免將非預期的變更匯出至Microsoft Entra ID。 若要停用內建同步排程器:

  1. 在 Microsoft Entra Connect 伺服器上啟動 PowerShell 工作階段。

  2. 透過執行 Cmdlet 指令以停用排程同步處理:Set-ADSyncScheduler -SyncCycleEnabled $false

注意

上述步驟僅適用於具有內建排程器的較新版本 (1.1.xxx.x) Microsoft Entra Connect。 如果您使用較舊版本(1.0.xxx.x)的 Microsoft Entra Connect,這些版本使用 Windows 工作排程器,或者您使用自己的自訂排程器(不常見)來觸發定期同步,則需要依據情況停用它們。

  1. 移至 [開始→同步處理服務],以啟動 Synchronization Service Manager

  2. 前往 [Operations] 標籤頁,並確認沒有任何作業的狀態是 「進行中」。

步驟 2:尋找 userCertificate 屬性的現有輸出同步處理規則

應該有一個已啟用並設定好的同步規則,以將使用者物件的 userCertificate 屬性匯出至 Microsoft Entra ID。 找出此同步規則,找出其 優先順序範圍篩選 組態:

  1. 移至 [開始→同步處理規則編輯器],以啟動 同步處理規則編輯器

  2. 使用下列值設定搜尋篩選:

    屬性 價值
    方向 輸出
    MV 物件類型 人員
    連接器 您的 Microsoft Entra 連接器的名稱
    連接器物件類型 使用者
    MV 屬性 userCertificate
  3. 如果您使用 OOB(開箱即用)同步處理規則透過 Microsoft Entra 連接器來匯出 User 物件的 userCertificate 屬性,您應該會傳回 「輸出至 Microsoft Entra ID – User ExchangeOnline」 規則。

  4. 記下此同步規則 優先順序 值。

  5. 選取同步處理規則,然後選取 [編輯]

  6. [編輯保留規則確認] 彈出視窗中,選取 。 (別擔心,我們不會對此同步處理規則進行任何變更)。

  7. 在編輯畫面中,選取 [範圍篩選] 索引標籤。

  8. 記下範圍篩選設定。 如果您使用 OOB 同步處理規則,應該只 一個範圍篩選群組,其中包含兩個子句,包括:

    屬性 操作者 價值
    來源物件類型 平等 使用者
    cloudMastered NOTEQUAL 真實的

步驟 3:建立所需的輸出同步處理規則

新的同步規則必須包含與現有同步規則相同的 範圍篩選,並且 優先順序必須高於現有的同步規則。 確保新的同步規則適用於與現有同步規則相同的一組物件,並覆蓋現有的 userCertificate 屬性同步規則。 若要建立同步處理規則:

  1. 在 [同步處理規則編輯器] 中,選取 [新增規則] 按鈕

  2. 在 [描述] 標籤下,提供以下設置:

    屬性 價值 詳細資料
    名字 提供一個名稱 例如,「輸出至 Microsoft Entra ID – userCertificate 的自定義覆寫」
    描述 提供描述 例如,「如果userCertificate屬性有超過15個值,請匯出NULL」
    連接的系統 選取Microsoft Entra Connector
    連接的系統物件類型 使用者
    Metaverse 物件類型 人員
    連結類型 加入
    優先權 選擇介於 1 - 99 之間的數位 任何現有的同步處理規則都不得使用所選數位,且值低於現有同步處理規則(因此優先順序較高)。
  3. 移至 範圍篩選 索引標籤,並實作現有同步處理規則所使用的相同範圍篩選。

  4. 略過 [聯結規則] 索引標籤

  5. 移至 [轉換] 索引標籤,使用下列組態新增轉換:

    屬性 價值
    流程類型 表示式
    目標屬性 使用者證書
    來源屬性 使用下列表示式IIF(IsNullOrEmpty([userCertificate]), NULL, IIF((Count([userCertificate])> 15),AuthoritativeNull,[userCertificate]))
  6. 選取 [新增] 按鈕以建立同步規則。

步驟 4:在一個具有 LargeObject 錯誤的現有物件上驗證新的同步規則

這是在您將它套用至其他物件之前,先確認已建立的同步處理規則在有 LargeObject 錯誤的現有 AD 物件上正常運作:

  1. 移至 [同步處理服務管理員] 中的 [Operations] 索引標籤。
  2. 選取最新的導出至 Microsoft Entra 作業,然後選取其中一個有 LargeObject 錯誤的物件。
  3. 在 [連接器空間物件屬性] 彈出視窗中,選取 [預覽] 按鈕。
  4. 在 [預覽] 彈出視窗中,選取 [完整同步處理] 並選取 [認可預覽]
  5. 關閉 [預覽] 畫面和 [連接器空間物件屬性] 畫面。
  6. 移至 [同步處理服務管理員] 中的 [連接器] 索引標籤。
  7. Microsoft Entra ID Connector 上選取滑鼠右鍵,然後選取 [執行...]
  8. 在 [執行連接器] 彈出視窗中,選取 [匯出 步驟],然後選取 確定
  9. 等候 Export to Microsoft Entra ID 完成,並確認此特定對象上沒有任何 LargeObject 錯誤。

步驟 5:將新的同步處理規則套用至具有 LargeObject 錯誤的其餘物件

新增同步處理規則之後,您必須在 AD 連接器上執行完整同步處理步驟:

  1. 移至 [同步處理服務管理員] 中的 [連接器] 索引標籤。
  2. 以滑鼠右鍵點擊 [AD 連接器],然後選取 [執行...]
  3. 在 [執行連接器] 彈出視窗中,選取 [完整同步] 步驟,然後選取 [確定]
  4. 等候完整同步處理步驟完成。
  5. 如果您有多個 AD 連接器,請針對剩餘的 AD 連接器重複上述步驟。 如果您有多個內部部署目錄,通常需要多個連接器。

步驟 6:確認沒有任何非預期的變更等待導出至 Microsoft Entra 識別碼

  1. 移至 [同步處理服務管理員] 中的 [連接器] 索引標籤。
  2. 在 [Microsoft Entra ID Connector] 上按一下滑鼠右鍵,然後選取 [搜尋連接器空間]
  3. 在 [搜尋連接器空間] 彈出視窗中:
    1. 將範圍設為 擱置匯出
    2. 核取所有 3 個複選框,包括 [新增]、[修改],以及 [刪除]
    3. 選取 [搜尋] 按鈕,以傳回所有有變更且等待匯出至 Microsoft Entra ID 的物件。
    4. 確認沒有任何非預期的變更。 若要檢查指定對象的變更,請在 物件上按兩下。

步驟 7:將變更匯出至 Microsoft Entra ID

若要將變更匯出至 Microsoft Entra 識別碼:

  1. 請前往 [同步處理服務管理員] 中的 [連接器] 索引標籤。
  2. 請在 Microsoft Entra ID Connector 上點選右鍵,然後選擇 [執行...]
  3. 在 [執行連接器] 彈出視窗中,選取 [匯出 步驟],然後選取 [確定]
  4. 等候 Export to Microsoft Entra ID 完成,並確認沒有更多 LargeObject 錯誤。

步驟 8:重新啟用同步排程器

現在問題已解決,請重新啟用內建同步排程器:

  1. 啟動 PowerShell 工作階段。
  2. 執行 Cmdlet 以重新啟用排程同步處理:Set-ADSyncScheduler -SyncCycleEnabled $true

注意

上述步驟僅適用於具有內建排程器的較新版本 (1.1.xxx.x) Microsoft Entra Connect。 如果您使用的是較舊版本(1.0.xxx.x)的 Microsoft Entra Connect(使用 Windows 工作排程器),或者您使用不常見的自定義排程器來觸發定期同步處理,您需要適當地停用它們。

後續步驟

深入瞭解 整合內部部署身分識別與 Microsoft Entra ID