分享方式:


將 Microsoft Entra Connect Sync 群組回寫 V2 遷移至 Microsoft Entra Cloud Sync

重要

2024 年 6 月 30 日之後,Microsoft Entra Connect 同步將不再提供群組回寫 v2 的公開預覽版。 這項功能將會在此日期中止,而且 Connect 同步也不再支援將雲端安全性群組佈建至 Active Directory。 該功能將在終止日期之後繼續運作;不過,在此日期之後它將不再獲得支援,而且可能隨時停止運作,恕不另行通知。

我們會在 Microsoft Entra 雲端同步中提供類似的功能,稱為將群組佈建至 Active Directory,您可以利用此功能來取代使用群組回寫 v2 將雲端安全性群組佈建至 Active Directory。 我們正努力在雲端同步中增強這項功能,以及我們在雲端同步中開發的其他新功能。

在 Connect 同步中使用此預覽功能的客戶,應該將其設定從 Connect 同步切換至雲端同步。您可以選擇將所有混合式同步移至雲端同步 (如果其支援您的需求)。 也可以並排執行雲端同步,並只將佈建至 Active Directory 的雲端安全性群組移至雲端同步。

對於將 Microsoft 365 群組佈建至 Active Directory 的客戶,可以繼續使用群組回寫 v1 來執行這項功能。

您可以使用使用者同步處理精靈,以獨佔方式評估移至 Cloud Sync。

下列文件說明如何使用 Microsoft Entra Connect Sync (先前稱為 Azure AD Connect) 將群組回寫遷移至 Microsoft Entra Cloud Sync。此案例適用於目前使用 Microsoft Entra Connect 群組回寫 v2 的客戶。 本文件中概述的程序僅適用於以通用範圍寫回的雲端建立安全性群組。

重要

此案例僅適用於目前使用 Microsoft Entra Connect Group Writeback v2 的客戶

此外,只有下列項目才支援此案例:

寫回 AD 的已啟用郵件的群組和 DL 會繼續與 Microsoft Entra Connect 群組寫回搭配使用,但將恢復為群組寫回 V1 的行為,因此在這種情況下,停用群組寫回 V2 後,所有 M365 群組都將寫回 AD (與 Entra 系統管理中心中的 [已啟用回寫] 設定無關)。 如需詳細資訊,請參閱使用 Microsoft Entra Cloud Sync 佈建至 Active Directory 常見問題集

必要條件

實作此案例需要下列必要條件。

  • 至少具有 [混合式身分識別系統管理員] 角色的 Microsoft Entra 帳戶。
  • 具有至少網域系統管理員權限的內部部署 AD 帳戶 - 存取 adminDescription 屬性並複製到 msDS-ExternalDirectoryObjectId 屬性需要此權限
  • 具有 Windows Server 2016 操作系統或更新版本的內部部署 Active Directory Domain Services 環境。
    • AD 結構描述的必要屬性 - msDS-ExternalDirectoryObjectId
  • 使用組建 1.1.1367.0 版或更新版本的佈建代理程式。
  • 佈建代理程式必須能夠與連接埠 TCP/389 (LDAP) 和 TCP/3268 (通用類別目錄) 上的網域控制器通訊。
    • 需要進行通用類別目錄查詢,篩選掉無效成員資格參考

寫回群組的命名慣例

根據預設,Microsoft Entra Connect Sync 會在回寫的命名群組時使用下列格式。

  • 預設格式:CN=Group_<guid>、OU=<容器>、DC=<網域元件>、DC=<網域元件>

  • 範例:CN=Group_3a5c3221-c465-48c0-95b8-e9305786a271、OU=WritebackContainer、DC=domain、DC=com

若要更輕鬆地尋找從 Microsoft Entra ID 回寫到 Active Directory 的群組,Microsoft Entra Connect Sync 新增了一個選項,以供使用雲端顯示名稱來回寫群組名稱。 這是藉由在群組回寫 v2 的初始設定期間,選取 [回寫群組辨別名稱與雲端顯示名稱] 來完成。 如果啟用此功能,Microsoft Entra Connect 會使用下列新的格式,而不是預設的格式:

  • 新格式:CN=<顯示名稱>_<最後 12 位數的物件識別碼>,OU=<容器>,DC=<網域元件>,DC=<網域元件>

  • 範例:CN=Sales_e9305786a271,OU=WritebackContainer,DC=contoso,DC=com

重要

根據預設,Microsoft Entra 雲端同步會使用新的格式,即使 Microsoft Entra Connect Sync 中未啟用具有雲端顯示名稱的回寫群組辨別名稱功能也一樣。如果您使用預設的 Microsoft Entra Connect Sync 命名,然後移轉該群組以便它由 Microsoft Entra 雲端同步管理,則該群組將重新命名為新格式。 使用下一節,以允許 Microsoft Entra 雲端同步使用 Microsoft Entra Connect 的預設格式。

使用預設格式

如果您希望雲端同步使用與 Microsoft Entra Connect Sync 相同的預設格式,則需要修改 CN 屬性的屬性流程運算式。 兩個可能的對應如下:

運算是 語法 描述
使用 DisplayName 的雲端同步預設運算式 Append(Append(Left(Trim([displayName]), 51), "_"), Mid([objectId], 25, 12)) Microsoft Entra 雲端同步所使用的預設運算式 (也就是新格式)
不使用 DisplayName 的雲端同步新運算式 Append("Group_", [objectId]) 使用 Microsoft Entra Connect Sync 的預設格式的新運算式。

如需詳細資訊,請參閱新增屬性對應 - Microsoft Entra ID 至 Active Directory

步驟 1 - 將 adminDescription 複製到 msDS-ExternalDirectoryObjectID

若要驗證群組成員資格參考,Microsoft Entra Cloud Sync 必須查詢 Active Directory 通用類別目錄中的 msDS-ExternalDirectoryObjectID 屬性。 這是一個編製索引的屬性,可在 Active Directory 樹系內的所有通用類別目錄中進行複寫。

  1. 在您的內部部署環境中,開啟 ADSI 編輯。

  2. 複製群組 adminDescription 屬性中的值

    adminDescription 屬性的螢幕擷取畫面。

  3. 貼上 msDS-ExternalDirectoryObjectID 屬性

    msDS-ExternalDirectoryObjectID 屬性的螢幕擷取畫面。

下列 PowerShell 指令碼可用於協助將此步驟自動化。 此指令碼會採用 OU=Groups,DC=Contoso,DC=com 容器中的所有群組,並將 adminDescription 屬性值複製到 msDS-ExternalDirectoryObjectID 屬性值。 使用此指令碼之前,請使用您的群組回寫目標組織單位 (OU) 的 DistinguishedName 來更新變數 $gwbOU


# Provide the DistinguishedName of your Group Writeback target OU
$gwbOU = 'OU=Groups,DC=Contoso,DC=com'

# Get all groups written back to Active Directory
Import-module ActiveDirectory
$properties = @('Samaccountname', 'adminDescription', 'msDS-ExternalDirectoryObjectID')
$groups = Get-ADGroup -Filter * -SearchBase $gwbOU -Properties $properties | 
    Where-Object {$_.adminDescription -ne $null} |
        Select-Object $properties

# Set msDS-ExternalDirectoryObjectID for all groups written back to Active Directory 
foreach ($group in $groups) {
    Set-ADGroup -Identity $group.Samaccountname -Add @{('msDS-ExternalDirectoryObjectID') = $group.adminDescription}
} 

步驟 2 - 將 Microsoft Entra Connect Sync 伺服器置於預備模式,並停用同步排程器

  1. 啟動 Microsoft Entra Connect Sync 精靈

  2. 按一下 [設定]

  3. 選取 [設定預備模式],然後按 [下一步]

  4. 輸入 Microsoft Entra 認證

  5. 勾選 [啟用預備模式] 方塊,然後按 [下一步]

    啟用預備模式的螢幕擷取畫面。

  6. 按一下 [設定]

  7. 按一下 [結束]

    預備模式成功的螢幕擷取畫面。

  8. 在 Microsoft Entra Connect 伺服器上,以管理員身分開啟 PowerShell 提示。

  9. 停用同步排程器:

    Set-ADSyncScheduler -SyncCycleEnabled $false  
    

步驟 3 - 建立自訂群組輸入規則

在 [Microsoft Entra Connect 同步處理規則編輯器] 中,您需要建立輸入同步處理規則,以篩選出 mail 屬性為 NULL 的群組。 輸入同步處理規則是具有 cloudNoFlow 目標屬性的聯結規則。 此規則會告知 Microsoft Entra Connect 不要同步處理這些群組的屬性。 若要建立此同步處理規則,您可以選擇使用使用者介面,或使用提供的腳本透過PowerShell加以建立。

在使用者介面中建立自定義群組輸入規則

  1. 從 [開始] 功能表啟動同步規則編輯器

  2. 在下拉式清單中,針對 [方向] 選取 [輸入],然後選取 [新增規則]

  3. 在 [描述] 頁面上輸入下列項目,然後選取 [下一步]

    • 名稱:為規則指定有意義的名稱

    • 描述:新增有意義的描述

    • 連線系統:選擇您要為其撰寫自訂同步規則的 Microsoft Entra 連接器

    • 連線系統物件類型:群組

    • Metaverse 物件類型:群組

    • 連結類型:聯結

    • 優先順序︰提供在系統中是唯一的值。 建議低於 100,以便它優先於預設規則。

    • 標籤:保留空白

      輸入同步處理規則的螢幕擷取畫面。

  4. 在 [範圍篩選] 頁面上,新增 下列內容,然後選取 [下一步]

    屬性 運算子
    cloudMastered 等於 true
    mail ISNULL

    範圍篩選條件的螢幕擷取畫面。

  5. 在 [加入規則] 頁面上,選取 [下一步]

  6. 在 [轉換] 頁面上,將常數 transformation: flow True 新增至 cloudNoFlow 屬性。 選取 [新增]。

    轉換的螢幕擷取畫面。

在 PowerShell 中建立自定義群組輸入規則

  1. 在 Microsoft Entra Connect 伺服器上,以管理員身分開啟 PowerShell 提示。

  2. 匯入 模組。

    Import-Module ADSync
    
  3. 為同步規則優先順序 [0-99] 提供唯一值。

    [int] $inboundSyncRulePrecedence = 88
    
  4. 執行下列指令碼:

     New-ADSyncRule  `
     -Name 'In from AAD - Group SOAinAAD coexistence with Cloud Sync' `
     -Identifier 'e4eae1c9-b9bc-4328-ade9-df871cdd3027' `
     -Description 'https://learn.microsoft.com/entra/identity/hybrid/cloud-sync/migrate-group-writeback' `
     -Direction 'Inbound' `
     -Precedence $inboundSyncRulePrecedence `
     -PrecedenceAfter '00000000-0000-0000-0000-000000000000' `
     -PrecedenceBefore '00000000-0000-0000-0000-000000000000' `
     -SourceObjectType 'group' `
     -TargetObjectType 'group' `
     -Connector 'b891884f-051e-4a83-95af-2544101c9083' `
     -LinkType 'Join' `
     -SoftDeleteExpiryInterval 0 `
     -ImmutableTag '' `
     -OutVariable syncRule
    
     Add-ADSyncAttributeFlowMapping  `
     -SynchronizationRule $syncRule[0] `
     -Source @('true') `
     -Destination 'cloudNoFlow' `
     -FlowType 'Constant' `
     -ValueMergeType 'Update' `
     -OutVariable syncRule
    
     New-Object  `
     -TypeName 'Microsoft.IdentityManagement.PowerShell.ObjectModel.ScopeCondition' `
     -ArgumentList 'cloudMastered','true','EQUAL' `
     -OutVariable condition0
    
     New-Object  `
     -TypeName 'Microsoft.IdentityManagement.PowerShell.ObjectModel.ScopeCondition' `
     -ArgumentList 'mail','','ISNULL' `
     -OutVariable condition1
    
     Add-ADSyncScopeConditionGroup  `
     -SynchronizationRule $syncRule[0] `
     -ScopeConditions @($condition0[0],$condition1[0]) `
     -OutVariable syncRule
    
     Add-ADSyncRule  `
     -SynchronizationRule $syncRule[0]
    
     Get-ADSyncRule  `
     -Identifier 'e4eae1c9-b9bc-4328-ade9-df871cdd3027'
    

步驟 4 - 建立自訂群組輸出規則

您也需要具有 JoinNoFlow 連結類型的輸出同步規則,以及將 cloudNoFlow 屬性設定為 True 的範圍篩選條件。 此規則會告知 Microsoft Entra Connect 不要同步處理這些群組的屬性。 若要建立此同步處理規則,您可以選擇使用使用者介面,或使用提供的腳本透過PowerShell加以建立。

在使用者介面中建立自定義群組輸入規則

  1. 在下拉式清單中,針對 [方向] 選取 [輸出],然後選取 [新增規則]

  2. 在 [描述] 頁面上輸入下列項目,然後選取 [下一步]

    • 名稱:為規則指定有意義的名稱
    • 描述:新增有意義的描述
    • 連線系統:選擇您要為其撰寫自訂同步規則的 AD 連接器
    • 連線系統物件類型:群組
    • Metaverse 物件類型:群組
    • 連結類型:JoinNoFlow
    • 優先順序︰提供在系統中是唯一的值。 建議低於 100,以便它優先於預設規則。
    • 標籤:保留空白

    輸出同步處理規則的螢幕擷取畫面。

  3. 在 [範圍篩選] 頁面上,選擇 [cloudNoFlow] 等於 [True]。 然後選取下一步

    輸出範圍篩選條件的螢幕擷取畫面。

  4. 在 [加入規則] 頁面上,選取 [下一步]

  5. 在 [轉換] 頁面上,選取 [新增]

在 PowerShell 中建立自定義群組輸入規則

  1. 在 Microsoft Entra Connect 伺服器上,以管理員身分開啟 PowerShell 提示。

  2. 匯入 模組。

    Import-Module ADSync
    
  3. 為同步規則優先順序 [0-99] 提供唯一值。

    [int] $outboundSyncRulePrecedence = 89
    
  4. 取得群組回寫的Active Directory 連接器。

    $connectorAD = Get-ADSyncConnector -Name "Contoso.com"
    
  5. 執行下列指令碼:

     New-ADSyncRule  `
     -Name 'Out to AD - Group SOAinAAD coexistence with Cloud Sync' `
     -Identifier '419fda18-75bb-4e23-b947-8b06e7246551' `
     -Description 'https://learn.microsoft.com/entra/identity/hybrid/cloud-sync/migrate-group-writeback' `
     -Direction 'Outbound' `
     -Precedence $outboundSyncRulePrecedence `
     -PrecedenceAfter '00000000-0000-0000-0000-000000000000' `
     -PrecedenceBefore '00000000-0000-0000-0000-000000000000' `
     -SourceObjectType 'group' `
     -TargetObjectType 'group' `
     -Connector $connectorAD.Identifier `
     -LinkType 'JoinNoFlow' `
     -SoftDeleteExpiryInterval 0 `
     -ImmutableTag '' `
     -OutVariable syncRule
    
     New-Object  `
     -TypeName 'Microsoft.IdentityManagement.PowerShell.ObjectModel.ScopeCondition' `
     -ArgumentList 'cloudNoFlow','true','EQUAL' `
     -OutVariable condition0
    
     Add-ADSyncScopeConditionGroup  `
     -SynchronizationRule $syncRule[0] `
     -ScopeConditions @($condition0[0]) `
     -OutVariable syncRule
    
     Add-ADSyncRule  `
     -SynchronizationRule $syncRule[0]
    
     Get-ADSyncRule  `
     -Identifier '419fda18-75bb-4e23-b947-8b06e7246551'
    

步驟 5 - 使用 PowerShell 完成設定

  1. 在 Microsoft Entra Connect 伺服器上,以管理員身分開啟 PowerShell 提示。

  2. 匯入 ADSync 模組:

    Import-Module ADSync
    
  3. 執行完整同步處理週期:

    Start-ADSyncSyncCycle -PolicyType Initial
    
  4. 停用租用戶的群組回寫功能:

    警告

    此作業無法復原。 停用群組寫回 V2 後,所有 M365 群組都將寫回 AD (與 Entra 系統管理中心中的 [已啟用回寫] 設定無關)。

    Set-ADSyncAADCompanyFeature -GroupWritebackV2 $false 
    
  5. 執行完整同步處理週期 (再次是):

    Start-ADSyncSyncCycle -PolicyType Initial
    
  6. 重新啟用同步排程器:

    Set-ADSyncScheduler -SyncCycleEnabled $true  
    

    PowerShell 執行的螢幕擷取畫面。

步驟 6 - 從預備模式移除 Microsoft Entra Connect Sync 伺服器

  1. 啟動 Microsoft Entra Connect Sync 精靈
  2. 按一下 [設定]
  3. 選取 [設定預備模式],然後按 [下一步]
  4. 輸入 Microsoft Entra 認證
  5. 移除 [啟用預備模式] 方塊中的核取記號,然後按 [下一步]
  6. 按一下 [設定]
  7. 按一下 [結束]

步驟 7 - 設定 Microsoft Entra Cloud Sync

現在,這些群組都已從 Microsoft Entra Connect Sync 的同步範圍中移除,您可以設定和配置 Microsoft Entra Cloud Sync 以接管安全性群組的同步。 請參閱使用 Microsoft Entra Cloud Sync 將群組佈建至 Active Directory

後續步驟