Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
重要
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。 本文中概述的过程仅适用于云创建且使用通用范围写回的安全组。
此场景仅支持以下内容:
重要
在迁移期间,在 Microsoft Entra Cloud Sync 配置完成并经过验证、可将这些组预配到 Active Directory 之前,请勿从 Microsoft Entra Connect Sync 的同步范围中删除已写回的组、组写回目标 OU 或相关的引用对象。
受支持的共存模型是,使 Microsoft Entra Connect Sync 识别现有已写回的组,并使用本文中的 cloudNoFlow 和 JoinNoFlow 规则来保留联接关系,同时由 Microsoft Entra Cloud Sync 接管组预配。
JoinNoFlow 不是完整暂存(只读)模式。 它阻止对象添加、对象删除和非引用属性更新。 但是,引用属性更新(例如组成员身份引用)仍可继续传递,以用于引用解析。 在正式切换之前,从 Microsoft Entra Connect Sync 同步范围中删除组或被引用的对象,可能会导致 Microsoft Entra Connect Sync 意外丢失引用,或取消预配本地组对象。
已启用邮件的组和通讯组列表写回至 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 Sync 在禁用组写回后继续将它们识别为已加入的对象。 这可以防止在从 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 Sync 中禁用组写回后,此出站规则会保留联接关系,并防止导出这些组的对象添加操作、对象删除操作以及非引用属性更新。
如果没有此规则,以前写回的组可能会被解释为不再在范围内,并在下一个同步周期中从本地 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 同步向导。
- 选择配置。
- 选择 “配置暂存模式 ”,然后选择“ 下一步”。
- 输入 Microsoft Entra 凭据。
- 清除 “启用暂存模式 ”复选框,然后选择“ 下一步”。
- 选择配置。
- 选择退出。
步骤 7:配置Microsoft Entra云同步
现在,既然 Microsoft Entra Connect Sync 已为现有已写回的组配置了禁止流转规则,请设置并配置 Microsoft Entra Cloud Sync,以接管向 Active Directory 预配安全组的任务。 有关详细信息,请参阅 使用 Microsoft Entra Cloud Sync 将组预配到 Active Directory。
在停用 Microsoft Entra Connect Sync 组写回之前,请先验证 Microsoft Entra Cloud Sync 是否会预配这些组,并在 Active Directory 中维护这些组的成员身份。