Microsoft Entra 連線 Sync:變更預設組態
本文的目的是要逐步引導您變更 Microsoft Entra 連線 Sync 中的預設組態。它提供一些常見案例的步驟。 有了這項知識,您應該能夠根據自己的商務規則,對自己的設定進行簡單的變更。
警告
如果您對默認現成同步處理規則進行變更,則下次更新 Microsoft Entra 連線 時,將會覆寫這些變更,因而產生非預期且可能不需要的同步處理結果。
默認現成同步處理規則具有指紋。 如果您變更這些規則,指紋就不會再相符。 當您嘗試套用新版本的 Microsoft Entra 連線 時,未來可能會遇到問題。 請只變更本文所述的方式。
同步規則編輯器
同步處理規則編輯器可用來查看和變更預設組態。 您可以在 Microsoft Entra 連線 群組底下的 [開始] 選單上找到它。
當您開啟編輯器時,您會看到預設的現用規則。
在編輯器中巡覽
使用編輯器頂端的下拉式清單,您可以快速找到特定規則。 例如,如果您想要查看包含屬性 proxyAddresses 的規則,您可以將下拉式清單變更為下列專案:
若要重設篩選並載入全新設定,請按鍵盤上的 F5。
右上方是 [ 新增規則 ] 按鈕。 您可以使用此按鈕來建立自己的自訂規則。
底部是用於在所選同步處理規則上運作的按鈕。 編輯 和 刪除 會執行您預期的結果。 匯出 會產生 PowerShell 腳本,以重新建立同步處理規則。 透過此程式,您可以將同步處理規則從一部伺服器移至另一部伺服器。
建立您的第一個自定義規則
最常見的變更是屬性流程。 來源目錄中的數據可能與 Microsoft Entra ID 中的數據不同。 在本節的範例中,請確定用戶的名稱一律正確。
停用排程器
排 程器 預設會每隔 30 分鐘執行一次。 在進行變更並針對新規則進行疑難解答時,請確定它並未啟動。 若要暫時停用排程器,請啟動 PowerShell 並執行 Set-ADSyncScheduler -SyncCycleEnabled $false
。
建立規則
- 按兩下 [ 新增規則]。
- 在 [ 描述] 頁面上,輸入下列專案:
- 名稱:為規則指定描述性名稱。
- 描述:提供一些澄清,讓其他人可以了解規則的用途。
- 連線 系統:這是可在其中找到對象的系統。 在此情況下,請選取 [Active Directory 連線 or]。
- 連線 系統/Metaverse 物件類型:分別選取用戶和人員。
- 連結類型:將此值變更為 Join。
- 優先順序:提供系統中唯一的值。 較低的數值表示較高的優先順序。
- 標籤:將此保留空白。 只有來自 Microsoft 的現成規則,才會將這個方塊填入值。
- 在 [ 範圍篩選 ] 頁面上,輸入 givenName ISNOTNULL。
本節用來定義規則應套用的物件。 如果保留空白,規則會套用至所有用戶物件。 不過,這包括會議室、服務帳戶和其他非人員用戶物件。 - 在 [ 聯結規則] 頁面上,將字段保留空白。
- 在 [轉換] 頁面上,將 FlowType 變更為 Expression。 針對 [ 目標屬性],選取 [givenName]。 在 [來源] 中,輸入 PCase([givenName])。
同步處理引擎會區分函式名稱和屬性的名稱。 如果您輸入錯誤,就會在新增規則時看到警告。 您可以儲存並繼續,但您必須重新開啟並更正規則。 - 按兩下 [ 新增 ] 以儲存規則。
您的新自定義規則應該與系統中的其他同步處理規則一起顯示。
確認變更
有了這項新的變更,您想要確定它如預期般運作,而且不會擲回任何錯誤。 視您擁有的物件數目而定,有兩種方式可以執行此步驟:
- 在所有物件上執行完整同步處理。
- 在單一物件上執行預覽和完整同步處理。
從 [開始] 功能表開啟同步處理服務。 本節中的步驟全都在此工具中。
所有物件的完整同步處理
- 選取頂端 連線 器。 識別您在上一節中變更的連接器(在此案例中為 Active Directory 網域服務),然後加以選取。
- 針對 [ 動作],選取 [ 執行]。
- 選取 [完整同步處理],然後選取 [ 確定]。
對象現在會在 Metaverse 中更新。 查看 Metaverse 中的物件,以確認您的變更。
在單一物件上預覽和完整同步處理
- 選取頂端 連線 ors。 識別您在上一節中變更的連接器(在此案例中為 Active Directory 網域服務),然後加以選取。
- 選取 [搜尋 連線 或空間]。
- 使用 Scope 尋找您想要用來測試變更的物件。 選取 物件,然後按兩下 [ 預覽]。
- 在新畫面上,選取 [ 認可預覽]。
變更現在會認可至 Metaverse。
在 Metaverse 中檢視物件
- 挑選一些範例物件,以確定值是預期的,以及套用規則。
- 從頂端選取 [Metaverse 搜尋 ]。 新增任何您需要尋找相關對象的篩選。
- 從搜尋結果中,開啟物件。 查看屬性值,並在 [同步處理規則] 資料行中確認規則已如預期般套用。
啟用排程器
如果一切如預期般,您可以再次啟用排程器。 從 PowerShell 執行 Set-ADSyncScheduler -SyncCycleEnabled $true
。
其他常見的屬性流程變更
上一節說明如何變更屬性流程。 在本節中,會提供一些額外的範例。 如何建立同步處理規則的步驟縮寫,但您可以在上一節中找到完整步驟。
使用預設值以外的屬性
在此 Fabrikam 案例中,有一個樹系,其中本機字母會用於指定的名稱、姓氏和顯示名稱。 您可以在擴充屬性中找到這些屬性的拉丁字元表示。 若要在 Microsoft Entra ID 和 Microsoft 365 中建置全域通訊清單,組織想要改用這些屬性。
使用預設組態時,來自本機樹系的物件看起來像這樣:
若要建立具有其他屬性流程的規則,請執行下列動作:
- 從 [開始] 功能表開啟 [同步處理規則編輯器]。
- 在 左側仍選取 [輸入 ] 時,按兩下 [ 新增規則 ] 按鈕。
- 為規則指定名稱和描述。 選取 內部部署的 Active Directory 實例和相關物件類型。 在 [ 鏈接類型] 中,選取 [ 聯結]。 針對 [ 優先順序],挑選其他規則未使用的數位。 現成的規則從 100 開始,因此值 50 可用於此範例中。
- 將範圍篩選保留空白。 (也就是說,它應該套用至樹系中的所有用戶物件。
- 將 [聯結規則] 保留空白。 (也就是說,讓現用規則處理任何聯結。
- 在 [轉換] 中,建立下列流程:
- 按兩下 [ 新增 ] 以儲存規則。
- 移至 [同步處理服務管理員]。 在 連線 器上,選取您新增規則的連接器。 選取 [ 執行],然後選取 [完整同步處理]。 完整同步處理會使用目前的規則重新計算所有物件。
這是具有此自定義規則之相同物件的結果:
屬性的長度
字串屬性預設可編製索引,最大長度為 448 個字元。 如果您正在使用可能包含更多專案的字串屬性,請務必在屬性流程中包含下列內容:
attributeName
<- Left([attributeName],448)
。
變更 userPrincipalSuffix
Active Directory 中的 userPrincipalName 屬性不一定會由使用者知道,而且可能不適合作為登入標識符。 透過 Microsoft Entra 連線 同步安裝精靈,您可以選擇不同的屬性,例如郵件。 但在某些情況下,必須計算 屬性。
例如,Contoso 公司有兩個 Microsoft Entra 目錄,一個用於生產環境,一個用於測試。 他們希望測試租使用者中的使用者使用登入標識碼中的另一個後綴:
Word([userPrincipalName],1,"@") & "@contosotest.com"
.
在此表達式中,將第一個 @-sign (Word) 的所有專案都保留下來,並以固定字串串連。
將多重值屬性轉換為單一值
Active Directory 中的某些屬性在架構中是多重值,即使它們看起來在 Active Directory 使用者和電腦 中為單一值也一樣。 範例是 description 屬性:
description
<- IIF(IsNullOrEmpty([description]),NULL,Left(Trim(Item([description],1)),448))
。
在此表達式中,如果屬性有值,請取得 屬性中的第一個專案 (Item),移除前置和尾端空格 (Trim),然後在字串中保留前 448 個字元 (Left)。
不要流動屬性
如需本節案例的背景,請參閱 控制屬性流程程式。
有兩種方式可以不流動屬性。 第一個是使用安裝精靈來 移除選取的屬性。 如果您之前從未同步處理屬性,此選項會正常運作。 不過,如果您已開始同步處理此屬性,並在稍後使用這項功能移除此屬性,同步處理引擎會停止管理屬性,而且現有的值會留在 Microsoft Entra ID 中。
如果您想要移除屬性的值,並確定它在未來不會流動,您需要建立自定義規則。
在此 Fabrikam 案例中,我們已了解我們同步處理至雲端的某些屬性不應該存在。 我們想要確定這些屬性已從 Microsoft Entra ID 中移除。
- 建立新的輸入同步處理規則,並填入描述。
- 使用 FlowType 的 Expression 和 Source 的 AuthorizationNull 建立屬性流程。 常值 AuthoritativeNull 表示值應該在 Metaverse 中是空的,即使較低優先順序的同步處理規則嘗試填入值也一樣。
- 儲存同步處理規則。 啟動同步處理服務、尋找連接器、選取 [執行],然後選取 [完整同步處理]。 此步驟會重新計算所有屬性流程。
- 搜尋 連線 or Space,確認預定的變更即將導出。
使用 PowerShell 建立規則
當您只需要進行一些變更時,使用同步規則編輯器即可正常運作。 如果您需要進行許多變更,PowerShell 可能是較佳的選項。 某些進階功能僅適用於PowerShell。
取得現用規則的PowerShell腳本
若要查看建立現用規則的 PowerShell 腳本,請在同步處理規則編輯器中選取規則,然後按兩下 [ 匯出]。 此動作會提供您建立規則的 PowerShell 文稿。
進階優先順序
現成的同步處理規則會從優先順序值為100開始。 如果您有許多樹系,而且需要進行許多自定義變更,則 99 個同步處理規則可能不夠。
您可以指示同步處理引擎您想要在現成規則之前插入其他規則。 若要取得此行為,請遵循下列步驟:
- 在同步處理規則編輯器中標記第一個現用同步處理規則 (從 AD-User Join 輸入),然後選取 [ 匯出]。 複製 SR 識別碼值。
- 建立新的同步處理規則。 您可以使用同步處理規則編輯器來建立它。 將規則匯出至 PowerShell 腳本。
- 在 屬性 PrecedenceBefore 中,從現用規則插入 Identifier 值。 將 [優先順序 ] 設定為 0。 請確定Identifier屬性是唯一的,而且您不會從另一個規則重複使用 GUID。 也請 確定未設定 ImmutableTag 屬性。 此屬性應該只針對現成規則進行設定。
- 儲存 PowerShell 腳本並加以執行。 結果是您的自定義規則會指派優先順序值為 100,而所有其他現用規則都會遞增。
如有需要,您可以使用相同的 PrecedenceBefore 值來擁有許多自定義同步處理規則。
啟用 UserType 的同步處理
Microsoft Entra 連線 支援同步處理 1.1.524.0 版及更新版本中 User 物件的 UserType 屬性。 更具體地說,已引進下列變更:
- Microsoft Entra 連線 or 中物件類型 User 的架構會擴充為包含 UserType 屬性,該屬性屬於類型字串且為單一值。
- Metaverse 中物件類型 Person 的架構會擴充為包含 UserType 屬性,該屬性屬於類型字串且為單一值。
根據預設,UserType 屬性不會啟用同步處理,因為 內部部署的 Active Directory 中沒有對應的 UserType 屬性。 您必須手動啟用同步處理。 執行這項操作之前,您必須記下 Microsoft Entra ID 強制執行的下列行為:
- Microsoft Entra-only 接受 UserType 屬性的兩個值: Member 和 Guest。
- 如果未在 Microsoft Entra 連線 中啟用 UserType 屬性進行同步處理,透過目錄同步處理建立的 Microsoft Entra 使用者會將 UserType 屬性設定為 Member。
- 在 1.5.30.0 版之前,Microsoft Entra 識別碼不允許 Microsoft Entra 連線 變更現有 Microsoft Entra 使用者的 UserType 屬性。 在舊版中,只能在建立 Microsoft Entra 用戶期間設定它,並 透過 PowerShell 進行變更。
啟用 UserType 屬性的同步處理之前,您必須先決定屬性衍生自 內部部署的 Active Directory 的方式。 以下是最常見的方法:
指定未使用的內部部署 AD 屬性(例如 extensionAttribute1)做為來源屬性。 指定的內部部署 AD 屬性應該是類型字串、單一值,並包含 Member 或 Guest 值。
如果您選擇此方法,您必須確定指定的屬性已填入 內部部署的 Active Directory 中已同步處理至 Microsoft Entra ID 之所有現有使用者物件的正確值,再啟用 UserType 屬性的同步處理。
或者,您可以從其他屬性衍生 UserType 屬性的值。 例如,如果您想要將其內部部署AD userPrincipalName屬性以網域部分 @partners.fabrikam123.org 結尾,則將其所有使用者同步處理為 Guest。
如先前所述,舊版的 Microsoft Entra 連線 不允許 Microsoft Entra 連線 變更現有 Microsoft Entra 使用者的 UserType 屬性。 因此,您必須確定您已決定的邏輯與租使用者中所有現有 Microsoft Entra 使用者已設定 UserType 屬性的方式一致。
開啟 UserType 屬性同步處理的步驟摘要如下:
- 停用同步排程器,並確認沒有任何同步處理進行中。
- 將來源屬性新增至內部部署AD連線or架構。
- 將 UserType 新增至 Microsoft Entra 連線 or 架構。
- 建立輸入同步處理規則,以從 內部部署的 Active Directory 傳送屬性值。
- 建立輸出同步處理規則,將屬性值流向 Microsoft Entra ID。
- 執行完整同步處理週期。
- 啟用同步排程器。
注意
本節的其餘部分涵蓋這些步驟。 它們描述於具有單一樹系拓撲且不含自定義同步處理規則的 Microsoft Entra 部署內容中。 如果您已設定多樹系拓撲、自定義同步處理規則或具有預備伺服器,則必須據以調整步驟。
步驟 1:停用同步排程器,並確認沒有任何同步處理進行中
若要避免將非預期的變更匯出至 Microsoft Entra ID,請確定您在更新同步處理規則時不會進行同步處理。 若要停用內建同步排程器:
- 在 Microsoft Entra 連線 伺服器上啟動 PowerShell 工作階段。
- 執行 Cmdlet
Set-ADSyncScheduler -SyncCycleEnabled $false
來停用排程同步處理。 - 移至 [啟動>同步處理服務] 來開啟 Synchronization Service Manager。
- 移至 [作業] 索引標籤,並確認沒有任何作業處於進行中狀態。
步驟 2:將來源屬性新增至內部部署 AD 連線 or 架構
並非所有 Microsoft Entra 屬性都會匯入內部部署 AD 連線 or Space。 若要將來源屬性新增至匯入的屬性清單:
- 移至 [同步處理服務管理員] 中的 [連線 ors] 索引標籤。
- 以滑鼠右鍵按兩下內部部署AD連線or,然後選取 [屬性]。
- 在快顯對話框中,移至 [ 選取屬性] 索引標籤 。
- 請確定來源屬性已簽入屬性清單中。
- 按一下 [確定] 以儲存。
步驟 3:將 UserType 屬性新增至 Microsoft Entra 連線 or 架構
根據預設,UserType 屬性不會匯入 Microsoft Entra 連線 Space。 若要將 UserType 屬性新增至匯入的屬性清單:
- 移至 Synchronization Service Manager 中的 [連線 ors] 索引卷標。
- 以滑鼠右鍵按下 Microsoft Entra 連線 or,然後選取 [屬性]。
- 在快顯對話框中,移至 [ 選取屬性] 索引標籤 。
- 請確定已在屬性清單中核取 UserType 屬性。
- 按一下 [確定] 以儲存。
步驟 4:建立輸入同步處理規則,以從 內部部署的 Active Directory 流程屬性值
輸入同步處理規則允許屬性值從來源屬性從 內部部署的 Active Directory 流向 Metaverse:
移至 [啟動>同步處理規則編輯器] 來開啟 [同步處理規則編輯器]。
將搜尋篩選方向設定為 [輸入]。
按兩下 [ 新增規則 ] 按鈕以建立新的輸入規則。
在 [ 描述] 索引標籤底下,提供下列設定:
屬性 值 詳細資料 名稱 提供名稱 例如, 從 AD In – User UserType 描述 提供描述 連線的系統 挑選內部部署 AD 連接器 連線的系統物件類型 使用者 Metaverse 物件類型 人 連結類型 聯結 優先順序 選擇介於 1 到 99 之間的數位 1–99 保留給自定義同步規則。 請勿挑選另一個同步處理規則所使用的值。 移至 [範圍篩選] 索引卷標,並使用下列子句新增單一範圍篩選群組:
屬性 運算子 值 adminDescription NOTSTARTWITH 使用者_ 範圍篩選條件會決定套用此輸入同步處理規則的內部部署 AD 物件。 在此範例中,我們使用在 [從 AD – 使用者通用] 現成同步處理規則中使用的相同範圍篩選條件,以防止同步處理規則套用至透過 Microsoft Entra 使用者回寫功能建立的用戶物件。 您可能需要根據 Microsoft Entra 連線 部署來調整範圍篩選。
移至 [ 轉換] 索引標籤,並實作所需的轉換規則。 例如,如果您已將未使用的內部部署 AD 屬性 (例如 extensionAttribute1) 指定為 UserType 的來源屬性,您可以實作直接屬性流程:
流程類型 目標屬性 來源 套用一次 合併類型 直接 UserType extensionAttribute1 未選取 更新 在另一個範例中,您想要從其他屬性衍生 UserType 屬性的值。 例如,如果您想要將其內部部署AD userPrincipalName屬性以網域部分 @partners.fabrikam123.org 結尾,則以 Guest 形式同步處理所有使用者。您可以實作如下的運算式:
流程類型 目標屬性 來源 套用一次 合併類型 運算式 UserType IIF(IsPresent([userPrincipalName]),IIF(CBool(InStr(LCase([userPrincipalName]),“@partners.fabrikam123.org”)=0),“Member”,“Guest”),Error(“UserPrincipalName 不存在以判斷 UserType”)) 未選取 更新 按兩下 [ 新增 ] 以建立輸入規則。
步驟 5:建立輸出同步處理規則,將屬性值流向 Microsoft Entra ID
輸出同步處理規則允許屬性值從 Metaverse 流向 Microsoft Entra ID 中的 UserType 屬性:
移至 [同步處理規則編輯器]。
將搜尋篩選 [方向 ] 設定為 [輸出]。
按兩下 [ 新增規則 ] 按鈕。
在 [ 描述] 索引標籤底下,提供下列設定:
屬性 值 詳細資料 名稱 提供名稱 例如, Out to Microsoft Entra ID – User UserType 描述 提供描述 連線的系統 選取 Microsoft Entra 連接器 連線的系統物件類型 使用者 Metaverse 物件類型 人 連結類型 聯結 優先順序 選擇介於 1 到 99 之間的數位 1–99 保留給自定義同步規則。 請勿挑選另一個同步處理規則所使用的值。 移至 [範圍篩選] 索引卷標,並新增具有兩個子句的單一範圍篩選群組:
屬性 運算子 值 sourceObjectType 等於 User cloudMastered NOTEQUAL True 範圍篩選會決定套用此輸出同步處理規則的 Microsoft Entra 物件。 在此範例中,我們使用從 Out 到 AD 的相同範圍篩選 - 使用者身分 識別現用同步處理規則。 它可防止同步處理規則套用至未從 內部部署的 Active Directory 同步處理的用戶物件。 您可能需要根據 Microsoft Entra 連線 部署來調整範圍篩選。
移至 [ 轉換] 索引標籤,並實作下列轉換規則:
流程類型 目標屬性 來源 套用一次 合併類型 直接 UserType UserType 未選取 更新 按兩下 [ 新增 ] 以建立輸出規則。
步驟 6:執行完整同步處理週期
一般而言,需要完整同步處理週期,因為我們已將新的屬性新增至 Active Directory 和 Microsoft Entra 連線 or 架構,並引進自定義同步處理規則。 您想要在將變更匯出至 Microsoft Entra ID 之前先確認變更。
您可以使用下列步驟來驗證變更,同時手動執行構成完整同步處理週期的步驟。
在內部部署 AD 連線 or 上執行完整匯入:
移至 Synchronization Service Manager 中的 [連線 ors] 索引卷標。
以滑鼠右鍵按兩下內部部署AD連線or,然後選取[執行]。
在快顯對話框中,選取 [完整匯入 ],然後按兩下 [ 確定]。
等候作業完成。
注意
如果已匯入的屬性清單中已包含來源屬性,則可以略過內部部署AD連線or的完整匯入。 換句話說,您不需要在步驟 2:將來源屬性新增至內部部署 AD 連線 or 架構期間進行任何變更。
在 Microsoft Entra 連線 or 上執行完整匯入:
- 以滑鼠右鍵按下 Microsoft Entra 連線 or,然後選取 [執行]。
- 在快顯對話框中,選取 [完整匯入 ],然後按兩下 [ 確定]。
- 等候作業完成。
確認現有 User 物件的同步處理規則變更:
內部部署的 Active Directory 的來源屬性和 Microsoft Entra ID 中的 UserType 已匯入其各自的 連線 or Spaces。 在繼續進行完整同步處理之前,請在內部部署 AD 連線 or Space 中的現有 User 對象上執行預覽。 您選擇的物件應該已填入來源屬性。
在 Metaverse 中填入 UserType 的成功 預覽 是您已正確設定同步處理規則的良好指標。 如需如何執行預覽的詳細資訊,請參閱驗證變更一節。
在內部部署 AD 連線 or 上執行完整同步處理:
- 以滑鼠右鍵按兩下內部部署AD連線or,然後選取[執行]。
- 在快顯對話框中,選取 [完整同步處理 ],然後按兩下 [ 確定]。
- 等候作業完成。
確認 擱置 匯出至 Microsoft Entra 識別碼:
以滑鼠右鍵按下 Microsoft Entra 連線 or,然後選取 [搜尋 連線 or 空間]。
在 [搜尋 連線 or 空格] 快顯對話框中:
- 將 [範圍] 設定為 [擱置匯出]。
- 選取這三個複選框: [新增]、 [修改] 和 [ 刪除]。
- 按兩下 [ 搜尋] 按鈕,取得要匯出之變更的物件清單。 若要檢查指定對象的變更,請按兩下物件。
- 確認變更是預期的。
在 Microsoft Entra 連線 or 上執行導出:
- 以滑鼠右鍵按下 Microsoft Entra 連線 or,然後選取 [執行]。
- 在 [執行 連線 或彈出視窗] 對話框中,選取 [匯出],然後按兩下 [確定]。
- 等候導出至 Microsoft Entra ID 完成。
注意
這些步驟不包含 Microsoft Entra 連線 or 的完整同步處理和導出步驟。 不需要這些步驟,因為屬性值會從 內部部署的 Active Directory 流向僅限 Microsoft Entra。
步驟 7:重新啟用同步排程器
重新開啟內建同步排程器:
- 啟動 PowerShell 工作階段。
- 執行 Cmdlet 以重新啟用排程同步處理
Set-ADSyncScheduler -SyncCycleEnabled $true
。
下一步
概觀主題