案例:使用目錄擴充搭配群組佈建至 Active Directory
案例:您在 Microsoft Entra ID 中有數百個群組。 您想要將其中部分群組佈建回 Active Directory,而非所有群組。 您需要進行可套用至群組的快速篩選,而不希望進行更複雜的範圍篩選。
您可以將在本案例中建立的環境用於測試,或進一步透過此環境熟悉雲端同步。
假設
- 此案例假設您的工作環境正在將使用者同步至 Microsoft Entra ID。
- 我們有 4 個已同步的使用者。 Britta Simon、Lola Jacobson、Anna Ringdahl 和 John Smith。
- Active Directory 中已有建立三個組織單位:銷售、行銷和群組
- Britta Simon 和 Anna Ringdahl 使用者帳戶位於銷售 OU 中。
- Lola Jacobson 和 John Smith 使用者帳戶位於行銷 OU 中。
- 我們 Microsoft Entra ID 中的群組會在群組 OU 進行佈建。
提示
如需執行 Microsoft Graph PowerShell SDK Cmdlet 的較佳體驗,請在 ISE 模式中使用 Visual Studio Code 搭配 ms-vscode.powershell
延伸模組。
在 Microsoft Entra ID 中建立兩個群組
若要開始作業,請在 Microsoft Entra ID 中建立兩個群組。 其中一個群組是銷售,另一個群組是行銷。
若要建立兩個群組,請遵循下列步驟。
- 至少以混合式身分識別管理員身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別] > [群組] > [所有群組]。
- 按一下頂端的 [新群組]。
- 請確定 [群組類型] 已設為 [安全性]。
- 對於 [群組名稱],請輸入 [銷售]
- 對於 [成員資格類型],請將其保留為已指派。
- 按一下 [建立]。
- 使用 [行銷] 作為 [群組名稱],並重複此流程。
將使用者新增至新建立的群組
- 至少以混合式身分識別管理員身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別] > [群組] > [所有群組]。
- 在頂端的搜尋方塊中,輸入銷售。
- 按一下新的 [銷售] 群組。
- 按一下左側的 [成員]
- 按一下頂端的 [新增成員]。
- 在頂端的搜尋方塊中,輸入 Britta Simon。
- 在 Britta Simon 和 Anna Ringdahl 旁邊勾選,然後按一下 [選取]
- 就可以成功將她新增至群組。
- 按一下最左側的 [所有群組],使用行銷群組重複此流程,並將 Lola Jacobson 和 John Smith 新增至該群組。
注意
將使用者新增至行銷群組時,請記下概觀頁面上的群組 ID。 此 ID 稍後會用來將新建立的屬性新增至群組。
安裝並連線 Microsoft Graph PowerShell SDK
如果尚未安裝,請遵循 Microsoft Graph PowerShell SDK 文件來安裝 Microsoft Graph PowerShell SDK 的主要模組:
Microsoft.Graph
。以系統管理權限來開啟 PowerShell
若要設定執行原則,請執行 (出現提示時按一下 [A] 全部皆是):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
連線至您的租用戶 (請務必在登入時接受代理者):
Connect-MgGraph -Scopes "Directory.ReadWrite.All", "Application.ReadWrite.All", "User.ReadWrite.All, Group.ReadWrite.All"
建立 CloudSyncCustomExtensionApp 應用程式和服務主體
重要
只有識別碼 URI 為「api://<tenantId>/CloudSyncCustomExtensionsApp」的目錄擴充,以及 Microsoft Entra Connect 所建立之 Tenant Schema Extension App,才支援 Microsoft Entra 雲端同步的目錄擴充。
取得租用戶識別碼:
$tenantId = (Get-MgOrganization).Id $tenantId
注意
這會輸出目前的租用戶識別碼。 您可以透過瀏覽至 [Microsoft Entra 系統管理中心] > [身分識別] > [概觀] 來確認此租用戶識別碼。
使用上一個步驟中的
$tenantId
變數,檢查 CloudSyncCustomExtensionApp 是否存在。$cloudSyncCustomExtApp = Get-MgApplication -Filter "identifierUris/any(uri:uri eq 'api://$tenantId/CloudSyncCustomExtensionsApp')" $cloudSyncCustomExtApp
如果 CloudSyncCustomExtensionApp 存在,請跳至下一個步驟。 否則,請建立新的 CloudSyncCustomExtensionApp 應用程式:
$cloudSyncCustomExtApp = New-MgApplication -DisplayName "CloudSyncCustomExtensionsApp" -IdentifierUris "api://$tenantId/CloudSyncCustomExtensionsApp" $cloudSyncCustomExtApp
檢查 CloudSyncCustomExtensionsApp 應用程式是否有相關聯的安全性主體。 如果剛建立新的應用程式,請跳至下一個步驟。
Get-MgServicePrincipal -Filter "AppId eq '$($cloudSyncCustomExtApp.AppId)'"
如果剛建立新的應用程式或未傳回安全性主體,請為 CloudSyncCustomExtensionsApp 建立安全性主體:
New-MgServicePrincipal -AppId $cloudSyncCustomExtApp.AppId
建立自訂擴充屬性
提示
在此案例中,我們將建立稱為 WritebackEnabled
的自訂擴充屬性,以用於 Microsoft Entra Cloud Sync 範圍篩選器,因此只有將 WritebackEnabled 設定為 True 的群組才會寫回內部部署 Active Directory,類似於 Microsoft Entra 系統管理中心中已啟用回寫的旗標。
取得 CloudSyncCustomExtensionsApp 應用程式:
$cloudSyncCustomExtApp = Get-MgApplication -Filter "identifierUris/any(uri:uri eq 'api://$tenantId/CloudSyncCustomExtensionsApp')"
現在,在 CloudSyncCustomExtensionApp 下,建立名為「WritebackEnabled」的自訂擴充屬性,並將其指派給 Group 物件:
New-MgApplicationExtensionProperty -Id $cloudSyncCustomExtApp.Id -ApplicationId $cloudSyncCustomExtApp.Id -Name 'WritebackEnabled' -DataType 'Boolean' -TargetObjects 'Group'
此 Cmdlet 會建立看起來像 extension_<guid>_WritebackEnabled 的擴充屬性。
建立雲端同步設定
至少以混合式身分識別管理員身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別]>[混合式管理]>[Microsoft Entra Connect]>[雲端同步]。
選取 [新增設定]。
選取 [Microsoft Entra ID 至 AD 同步]。
- 在設定畫面上選取您的網域,以及是否啟用密碼雜湊同步。按一下 [建立]。
[開始] 畫面會隨即開啟。 您可以從這裡繼續設定雲端同步
按一下左側的 [範圍篩選條件],選取 [群組範圍] - [所有群組]
按一下 [編輯屬性對應],並將 [目標容器] 變更為
OU=Groups,DC=Contoso,DC=com
。 按一下 [檔案] 。按一下 [新增屬性範圍篩選條件]
輸入範圍篩選的名稱:
Filter groups with Writeback Enabled
在 [目標屬性] 下,選取看起來像 extension_<guid>_WritebackEnabled 的新建立屬性。
重要
下拉式清單中顯示的某些目標屬性可能無法作為範圍篩選使用,因為並非所有屬性都可以在 Entra ID 中加以管理,例如 extensionAttribute[1-15],因此建議為此特定用途建立自訂擴充屬性。
- 在 [運算子] 底下選取 [為 TRUE]
- 按一下 [檔案] 。 然後按一下 [儲存]。
- 將設定保持停用狀態,之後再返回。
將新的擴充屬性新增至其中一個群組
針對這個部分,我們會將新建立屬性的值新增至其中一個現有群組:行銷。
使用 Microsoft Graph PowerShell SDK 設定延伸模組屬性值
使用上一個步驟中的
$cloudSyncCustomExtApp
變數來取得延伸模組屬性:$gwbEnabledExtAttrib = Get-MgApplicationExtensionProperty -ApplicationId $cloudSyncCustomExtApp.Id | Where-Object {$_.Name -Like '*WritebackEnabled'} | Select-Object -First 1 $gwbEnabledExtAttrib $gwbEnabledExtName = $gwbEnabledExtAttrib.Name
現在,取得
Marketing
群組:$marketingGrp = Get-MgGroup -ConsistencyLevel eventual -Filter "DisplayName eq 'Marketing'" $marketingGrp
然後,使用包含
extension_<guid>_WritebackEnabled
的變數$gwbEnabledExtName
,設定行銷群組的值True
:Update-MgGroup -GroupId $marketingGrp.Id -AdditionalProperties @{$gwbEnabledExtName = $true}
若要確認,您可以使用下列項目讀取
extension_<guid>_WritebackEnabled
屬性值:$marketingGrp = Get-MgGroup -ConsistencyLevel eventual -Filter "DisplayName eq 'Marketing'" -Property Id,$gwbEnabledExtName $marketingGrp.AdditionalProperties.$gwbEnabledExtName
使用 Microsoft Graph Explorer 設定延伸模組屬性值
請確認您已同意 Group.ReadWrite.All
。 您可以選取 [修改權限] 來執行此動作。
使用租用戶系統管理員帳戶登入。 這可能需要混合式身分識別系統管理員帳戶。 建立此案例時使用了混合式身分識別系統管理員帳戶。 混合式身分識別系統管理員帳戶可能就已足夠。
在頂端,將 GET 變更為 PATCH
在位址方塊中,輸入:
https://graph.microsoft.com/v1.0/groups/<Group Id>
在 [要求本文] 中,輸入:
{ extension_<guid>_WritebackEnabled: true }
如果以上均正確完成,您會看到 []。
現在在頂端,將 PATCH 變更為 GET,並查看行銷群組的屬性。
測試我們的設定
注意
使用隨選佈建時,不會自動佈建成員。 您必須選取要測試的成員,限制最多 5 位。
- 至少以混合式系統管理員的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別] > [混合式管理] > [Microsoft Entra Connect] > [雲端同步]。
- 在 [設定] 底下,選取您的設定。
- 選取左側的 [隨需佈建]。
- 在 [選取的群組] 方塊中輸入行銷
- 從 [選取的使用者] 區段中,選取要測試的幾位使用者。 選取 [Lola Jacobson] 和 [John Smith]。
- 按一下 [佈建]。 應已成功佈建。
- 現在嘗試使用行銷群組,並新增 Britta Simon 和 Anna Ringdahl。 這不應該佈建。
- 在 Active Directory 中,您應該會看到新建立的行銷群組。
- 您現在可以瀏覽至 [身分識別]>[混合式管理]>[Microsoft Entra Connect]>[雲端同步]> [概觀] 頁面,以檢閱並啟用我們的設定以開始同步處理。