共用方式為


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

重要

Microsoft Entra Connect Sync 中的群組回寫 v2 預覽已過時,不再支援。

您可以使用 Microsoft Entra Cloud Sync 將雲端安全組布建至內部部署 Active Directory 網域服務 (AD DS)。

如果您在 Microsoft Entra Connect Sync 中使用群組回寫 v2,您應該將同步處理用戶端移至 Microsoft Entra Cloud Sync。若要檢查您是否有資格移至 Microsoft Entra Cloud Sync,請使用使用者同步處理精靈。

如果您無法如精靈程式建議使用 Microsoft Cloud Sync,您可以與 Microsoft Entra Connect Sync 同時執行 Microsoft Entra Cloud Sync。在此情況下,您可以執行 Microsoft Entra Cloud Sync,將雲端安全組布建至本地部署的 AD DS。

如果您將 Microsoft 365 群組佈建至 AD DS,您可以繼續使用群組回寫 v1。

本文說明如何使用 Microsoft Entra Connect Sync(先前稱為 Azure Active Directory Connect)將群組回寫移轉至 Microsoft Entra Cloud Sync。此案例僅適用於 當前使用 Microsoft Entra Connect 群組回寫 v2 的客戶。 本文中所述的流程僅適用於經由雲端創建並以通用範圍寫回的安全組。

此案例僅支援:

  • 由雲端建立的安全組
  • 以通用 範圍寫回 Active Directory 的群組。

郵件啟用的群組和通訊群組清單回寫至 Active Directory 會繼續使用 Microsoft Entra Connect 群組回寫功能,但會還原為 Group Writeback v1 的行為。 在此情況下,停用群組回寫 v2 之後,所有 Microsoft 365 群組都將獨立於 Microsoft Entra 系統管理中心中的 啟用回寫 設定,再回寫至 Active Directory。 如需詳細資訊,請參閱 使用 Microsoft Entra Cloud Sync 將內容布建到 Active Directory 的常見問題

必要條件

  • 至少具有 混合式身分識別系統管理員 角色的 Microsoft Entra 帳戶。

  • 具有至少網域系統管理員許可權的內部部署 Active Directory 帳戶。

    需要存取 adminDescription 屬性並將其複製到 msDS-ExternalDirectoryObjectId 屬性。

  • 執行 Windows Server 2022、Windows Server 2019 或 Windows Server 2016 的內部部署 Active Directory 網域服務環境。

    必需的 Active Directory 架構屬性 msDS-ExternalDirectoryObjectId

  • 使用版本為 1.1.1367.0 或更新版本的配置代理程式。

  • 布建代理程式必須能夠與埠 TCP/389 (LDAP) 和 TCP/3268 (全域編錄) 上的域控制器通訊。

    需要進行全域目錄查詢,篩選掉無效的成員引用。

回寫群組的命名慣例

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

  • 預設格式:CN=Group_&lt;guid&gt;,OU=&lt;container&gt;,DC=&lt;domain component&gt;,DC=\<domain component>
  • 範例:CN=Group_3a5c3221-c465-48c0-95b8-e9305786a271,OU=WritebackContainer,DC=contoso,DC=com

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

  • 新格式:CN=&lt;display name&gt;_&lt;last 12 digits of object ID&gt;,OU=&lt;container&gt;,DC=&lt;domain component&gt;,DC=\<domain component>
  • 範例:CN=Sales_e9305786a271,OU=WritebackContainer,DC=contoso,DC=com

根據預設,Microsoft Entra Cloud Sync 會使用新的格式,即使 Microsoft Entra Connect Sync 中未啟用回寫群組辨別名稱與雲端顯示名稱功能也一樣。如果您使用預設Microsoft Entra Connect Sync 命名,然後移轉群組,使其由 Microsoft Entra Cloud Sync 管理,群組會重新命名為新的格式。 使用下一節可讓 Microsoft Entra Cloud Sync 使用來自 Microsoft Entra Connect 的預設格式。

使用預設格式

如果您想要Microsoft Entra Cloud Sync 使用與 Microsoft Entra Connect Sync 相同的預設格式,您必須修改 CN 屬性的屬性流程表達式。 兩個可能的對應如下:

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

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

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

若要驗證群組成員資格參考,Microsoft Entra Cloud Sync 必須查詢 msDS-ExternalDirectoryObjectID 屬性的 Active Directory 全域編錄。 此索引屬性會在 Active Directory 樹系內的所有全域編錄中複寫。

  1. 在內部部署環境中,開啟 ADSI 編輯器

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

    顯示 adminDescription 屬性的螢幕快照。

  3. 將值貼到 msDS-ExternalDirectoryObjectID 屬性中。

    顯示 msDS-ExternalDirectoryObjectID 屬性的螢幕快照。

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


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

# Get all groups written back to Active Directory
$properties = @('displayName', '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}
} 

您可以使用下列 PowerShell 腳本來檢查上述腳本的結果。 您也可以確認所有群組的 adminDescription 值都等於 msDS-ExternalDirectoryObjectID 值。


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


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

$groups | select displayName, adminDescription, 'msDS-ExternalDirectoryObjectID', @{Name='Equal';Expression={$_.adminDescription -eq $_.'msDS-ExternalDirectoryObjectID'}}

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

  1. 啟動 Microsoft Entra Connect 同步精靈。

  2. 選取[],然後設定[]。

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

  4. 輸入 Microsoft Entra 認證。

  5. 選取 [[啟用預備模式] 複選框,然後選取 [下一步]

    顯示啟用預備模式的螢幕快照。

  6. 選取[],然後設定[]。

  7. 選擇結束

    顯示預備模式成功的螢幕快照。

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

  9. 停用同步排程器:

    Set-ADSyncScheduler -SyncCycleEnabled $false  
    

步驟 3:建立自定義群組輸入規則

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

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

  1. 在 [開始] 功能表上,啟動 [同步處理規則編輯器]。

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

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

    • 名稱:為規則指定有意義的名稱。
    • 描述:新增有意義的描述。
    • 連線系統:選擇您正在為其撰寫自訂同步規則的 Microsoft Entra 連接器。
    • 連線的系統物件類型:選取 群組
    • Metaverse 物件類型:選取 群組
    • 連結類型:選取 聯結
    • 優先順序:提供系統中唯一的值。 建議您使用小於 100 的值,使其優先於預設規則。
    • 標籤: 將欄位保留空白。

    顯示輸入同步規則的螢幕快照。

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

    屬性 操作員 價值
    cloudMastered EQUAL true
    mail ISNULL

    顯示範圍篩選的螢幕快照。

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

  6. 在 [新增轉換] 頁面上,針對 FlowType選取 常數。 針對 目標屬性,選取 cloudNoFlow。 針對 來源,選擇 True

    顯示新增轉換的螢幕快照。

  7. 選取 新增

在 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. 在 [描述] 頁面上,輸入下列值,然後選取 [下一步]:

    • 名稱:為規則指定有意義的名稱。
    • 描述:新增有意義的描述。
    • 連線系統:選擇您要撰寫自定義同步規則的 Active Directory 連接器。
    • 連線的系統物件類型:選取 群組
    • Metaverse 物件類型:選取 群組
    • 連結類型:選取 JoinNoFlow
    • 優先順序:提供系統中唯一的值。 建議您使用小於 100 的值,使其優先於預設規則。
    • 標籤:將欄位保留空白。

    顯示輸出同步處理規則的螢幕快照。

  3. 在 [範圍篩選] 頁面上,針對 [屬性] 選取 [cloudNoFlow]。 針對 [運算符] 選取 [EQUAL]。 針對 ,選取 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 之後,所有的 Microsoft 365 群組都會寫回 Active Directory,而與 Microsoft 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 同步精靈。
  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。