Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
重要
Microsoft Entra Connect Sync 中的组写回 v2 预览版已弃用,不再受支持。
如果将 Microsoft 365 组预配到 Active Directory 域服务 (AD DS),则可以继续使用组写回 v1。
本文介绍如何使用 Microsoft Entra Connect Sync(以前Azure Active Directory Connect)将组写回迁移到 Microsoft Entra Cloud Sync。此方案适用于当前使用 Microsoft Entra Connect Group Writeback v2 的客户only。 本文中概述的过程仅适用于云创建且使用通用范围写回的安全组。
此场景仅支持以下内容:
已启用邮件的组和通讯组列表写回至 Active Directory,继续使用 Microsoft Entra Connect 组写回功能,但恢复到组写回 v1 的行为。 在此方案中,禁用组写回 v2 后,所有Microsoft 365组将独立于Microsoft Entra 管理中心中的 Writeback Enabled 设置写回Active Directory。 有关详细信息,请参阅 使用 Microsoft Entra Cloud Sync 的 Active Directory 预配常见问题解答。
先决条件
至少具有 Hybrid Identity administrator 角色的 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_<guid>,OU=<container>,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=<display name>_<last 12 digits of object ID>,OU=<container>,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 属性的属性流表达式。 两种可能的映射为:
| 表达式 | Syntax | 说明 |
|---|---|---|
使用 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 必须查询 Active Directory msDS-ExternalDirectoryObjectID 属性的全局目录。 此索引属性在 Active Directory 林中的所有的全局编录中复制。
可以使用以下 PowerShell 脚本来帮助自动执行此步骤。 此脚本采用容器中的所有 OU=Groups,DC=Contoso,DC=com 组,并将 adminDescription 属性值复制到 msDS-ExternalDirectoryObjectID 属性值。 在使用此脚本之前,请使用组写回目标组织单位 (OU) 的 $gwbOU 值更新变量 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连接同步服务器置于过渡模式并禁用同步计划程序
启动 Microsoft Entra Connect 同步向导。
选择配置。
选择 “配置暂存模式 ”,然后选择“ 下一步”。
输入 Microsoft Entra 凭据。
选中“ 启用暂存模式 ”复选框,然后选择“ 下一步”。
选择配置。
选择退出。
在 Microsoft Entra Connect 服务器上,以管理员身份打开 PowerShell 提示符。
禁用同步计划程序:
Set-ADSyncScheduler -SyncCycleEnabled $false
第三步:创建自定义组入站规则
在“Microsoft Entra Connect 同步规则编辑器”中,创建一个入站同步规则,该规则针对当前在 Microsoft Entra ID 中主控的、由云创建且具有 NULL 邮件属性的组。 这个入站同步规则是一个联接规则,将 cloudNoFlow 属性设置为 True。
此规则的目的是标记这些组,以便Microsoft Entra Connect 在禁用组写回后继续将它们识别为联接的对象,从而阻止它们被视为范围外的对象。 在从 Microsoft Entra Connect Sync 中的组写回向 Microsoft Entra Cloud Sync 进行组预配的过渡期间,需要使用此规则来保留现有的本地组对象。可以通过用户界面或使用 PowerShell 结合提供的脚本来创建此同步规则。
在用户界面中创建自定义组入站规则
在 “开始 ”菜单上,启动同步规则编辑器。
在 “方向”下,从下拉列表中选择“ 入站 ”,然后选择“ 添加新规则”。
在 “说明 ”页上,输入以下值,然后选择“ 下一步” :
- 名称:为规则指定有意义的名称。
- 说明:添加有意义的说明。
- 连接系统:选择要为其编写自定义同步规则的Microsoft Entra连接器。
- 连接的系统对象类型:选择 组。
- Metaverse 对象类型:选择 组。
- 链接类型:选择 “联接”。
- 优先级:提供系统中唯一的值。 建议使用小于 100 的值,使其优先于默认规则。
- 标记: 将字段留空。
在 范围筛选器 页上,添加以下值,然后选择“ 下一步” :
Attribute Operator 价值 cloudMasteredEQUALtruemailISNULL在“ 加入规则 ”页上,选择“ 下一步”。
在“ 添加转换 ”页上,对于 FlowType,选择 “常量”。 对于 目标属性,请选择 cloudNoFlow。 对源,请选择True。
选择 并添加。
在 PowerShell 中创建自定义组入站规则
在 Microsoft Entra Connect 服务器上,以管理员身份打开 PowerShell 提示符。
导入模块。
Import-Module ADSync为同步规则优先级(0-99)提供唯一值。
# Provide the sync rule precedence (0-99) [int] $inboundSyncRulePrecedence = 88运行以下脚本:
New-ADSyncRule ` -Name 'In from AAD - Group SOAinAAD coexistence with Cloud Sync' ` -Identifier 'e4eae1c9-b9bc-4328-ade9-df871cdd3027' ` -Description 'https://docs.azure.cn/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 中禁用组回写后,联接关系能够得以维护,而无需流动更改或触发取消配置。
如果没有此规则,以前写回的组将被解释为不再在范围内,并在下一个同步周期从本地 Active Directory中删除。 此规则是为了安全停用组写回 v2,并允许 Microsoft Entra 云同步接管组的预配责任。 可以使用用户界面或 PowerShell 和提供的脚本来创建此同步规则。
在用户界面中创建自定义组出站规则
在 “方向”下,从下拉列表中选择“ 出站 ”,然后选择“ 添加规则”。
在 “说明 ”页上,输入以下值,然后选择“ 下一步” :
- 名称:为规则指定有意义的名称。
- 说明:添加有意义的说明。
- 连接系统:选择要为其编写自定义同步规则的Active Directory连接器。
- 连接的系统对象类型:选择 组。
- Metaverse 对象类型:选择 组。
- 链接类型:选择 JoinNoFlow。
- 优先级:提供系统中唯一的值。 建议使用小于 100 的值,使其优先于默认规则。
- 标记:将字段留空。
在 “范围筛选器” 页上,对于 属性,选择 cloudNoFlow。 对于 运算符 ,请选择 EQUAL。 对于 值,请选择 真。 然后选择下一步。
在“ 加入规则 ”页上,选择“ 下一步”。
在“转换”页上选择“添加”。
在 PowerShell 中创建自定义组入站规则
在 Microsoft Entra Connect 服务器上,以管理员身份打开 PowerShell 提示符。
导入模块。
Import-Module ADSync为同步规则优先级(0-99)提供唯一值。
# Provide the sync rule precedence (0-99) [int] $outboundSyncRulePrecedence = 89获取用于“组写回”的Active Directory连接器。
# Provide the name of your Active Directory Connector $connectorAD = Get-ADSyncConnector -Name "Contoso.com"运行以下脚本:
New-ADSyncRule ` -Name 'Out to AD - Group SOAinAAD coexistence with Cloud Sync' ` -Identifier '419fda18-75bb-4e23-b947-8b06e7246551' ` -Description 'https://docs.azure.cn/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 完成配置
在 Microsoft Entra Connect 服务器上,以管理员身份打开 PowerShell 提示符。
导入
ADSync模块:Import-Module ADSync运行完整的同步周期:
Start-ADSyncSyncCycle -PolicyType Initial禁用租户的组写回功能。
警告
此操作不可逆。 禁用组写回 v2 后,所有 Microsoft 365 组都会写回到 Active Directory,无视于 Microsoft Entra 管理中心的 Writeback Enabled 设置。
Set-ADSyncAADCompanyFeature -GroupWritebackV2 $false再次运行完整同步周期:
Start-ADSyncSyncCycle -PolicyType Initial重新启用同步调度程序
Set-ADSyncScheduler -SyncCycleEnabled $true
步骤 6:从暂存模式中删除Microsoft Entra连接同步服务器
- 启动 Microsoft Entra Connect Sync 向导。
- 选择配置。
- 选择 “配置暂存模式 ”,然后选择“ 下一步”。
- 输入Microsoft Entra 凭据。
- 清除 “启用暂存模式 ”复选框,然后选择“ 下一步”。
- 选择配置。
- 选择退出。
步骤 7:配置Microsoft Entra云同步
将组从 Microsoft Entra Connect Sync 的同步范围中删除后,可以设置和配置 Microsoft Entra Cloud Sync 以接管安全组的同步。 有关详细信息,请参阅 使用 Microsoft Entra Cloud Sync 将组预配到 Active Directory。