从 Microsoft Entra Connect 迁移到 Microsoft Entra 云同步

Microsoft Entra云同步使用Microsoft Entra预配代理将用户、组和联系人从Active Directory同步到Microsoft Entra ID。 启用设备同步后,云同步还可以同步Microsoft Entra混合联接的计算机对象。 使用本指南从 Microsoft Entra Connect Sync 中选择迁移路径,并当有已记录的手动过程适用时计划分阶段迁移。

选择迁移路径

从 迁移决策指南 开始,以检查 Cloud Sync 平台功能。 然后查看单独的 引导式迁移工具先决条件和限制。

迁移路径 何时使用它
引导迁移工具 迁移选项显示在活动 Connect 同步服务器上,准备情况评审确认环境符合条件。
手动分阶段迁移 云同步支持所需的场景,引导工具不支持它,并且 Microsoft 提供了有文档说明的手动迁移流程。
继续使用 Connect Sync 当前不提供必需的功能或有文档记录的迁移过程。 查看 决策指南。

从 Microsoft Entra Connect 迁移到 Cloud Sync 的步骤

Important

在分阶段迁移期间,在迁移和引用验证完成之前,不要从 Connect Sync 范围中删除组织单位(OU)、域、组、用户、联系人或其他引用对象。 过早删除范围可能会导致关联关系被意外移除,例如 Microsoft Entra ID 中的组成员身份被移除。 查看Microsoft Entra Connect Sync 中的计划范围删除。

以下过程介绍了手动分阶段迁移。 如果环境符合条件,请改用 引导式迁移工具 。

  • 在同步范围内表示该对象仍包含在同步配置中。
  • 导出权限 表示负责导出正常更改的同步引擎。
  • 在记录的手动试点期间,对象保留在 Connect Sync 范围内,同时 cloudNoFlow 和 JoinNoFlow 会阻止正常的 Connect Sync 导出。
  • 仅在云同步迁移和引用验证完成后,才从 Connect Sync 范围中删除对象。

支持的共存模型是将对象保留在 Microsoft Entra Connect Sync 范围,并使用cloudNoFlow和JoinNoFlow规则来防止Microsoft Entra Connect Sync 导出对象添加、对象删除和非引用属性更新。 引用属性更新(例如 member 和 manager)仍可继续传递,以进行引用解析。

你仍然可以分阶段进行迁移,例如按 OU(组织单位)或其他预先定义的批次进行。 每个批次都必须始终处于 Microsoft Entra Connect Sync 的范围内,并应用 no-flow 规则,直到该批次完全迁移并准备好进行切换。

步骤 说明
选择最佳同步工具 查看 迁移决策指南 和 受支持的同步方案比较。 在选择此手动过程之前,请查看引导式工具的适用资格。
验证迁移的先决条件 本指南适用于使用 Express 设置安装 Microsoft Entra Connect 的用户。 如果为 Microsoft Entra 混合加入同步设备,请在云同步迁移计划中包括设备同步。 此外,请验证 云同步先决条件。
备份 Microsoft Entra Connect 配置 在进行任何更改之前,都应该备份 Microsoft Entra Connect 配置。 这样,就可进行回滚。 有关详细信息,请参阅 导入和导出Microsoft Entra Connect 配置设置。
查看迁移教程 若要熟悉迁移过程,请查看为现有的已同步 AD 林迁移到 Microsoft Entra 云同步教程。 本教程将指导你完成沙盒环境中的迁移过程。
创建或标识迁移的 OU 创建一个新的 OU 或标识一个现有的 OU,其中包含你将在其上测试迁移的用户。 在迁移期间将此 OU 保留在 Microsoft Entra Connect Sync 范围。
将用户移到新 OU 中(可选) 如果使用的是新 OU,请立即将此试点的范围内的用户移到该 OU。 在继续之前,请先让 Microsoft Entra Connect Sync 检测到这些更改,以便它在新的 OU 中进行同步。 迁移期间不要从Microsoft Entra连接同步范围中删除 OU 或用户。
在 OU 上运行 PowerShell 可以运行以下 PowerShell cmdlet 来获取试点 OU 中的用户计数。
Get-ADUser -Filter * -SearchBase "<DN path of OU>"
示例:Get-ADUser -Filter * -SearchBase "OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM"
停止调度器 在创建新的同步规则之前,需要停止 Microsoft Entra Connect 计划程序。 有关详细信息,请参阅如何停止计划程序。
创建自定义同步规则 在 Microsoft Entra Connect 同步规则编辑器中,创建一个入站同步规则,对之前创建或确定的 OU 中的用户,将 cloudNoFlow 属性设置为 True。 还需要一个出站同步规则,其中包含一个链接类型 JoinNoFlow 以及一个范围筛选器,该筛选器的属性 cloudNoFlow 设置为 True。 这些规则共同阻止 Microsoft Entra Connect Sync 为作用域内的用户导出对象添加、对象删除以及非引用属性更新。 引用属性更新(例如 member 和 manager)仍可继续传递,以进行引用解析。 在试点或共存阶段,请勿从 Microsoft Entra Connect Sync 范围中删除试点 OU、组、域或相关引用对象。 有关详细信息,请参阅将现有已同步 AD 林迁移到 Microsoft Entra 云同步教程,了解如何创建这些规则。
安装预配代理 请安装预配代理(如果尚未这样做)。 有关详细信息,请参阅如何安装代理。
配置云同步 安装代理后,需要配置云同步。在配置中,需要创建之前创建或标识的 OU 的范围。 有关详细信息,请参阅配置云同步。
验证试点用户是否正在进行同步和预配 验证用户现在是否正在门户中进行同步。 可以使用下面的 PowerShell 脚本来获取其可分辨名称中具有本地试点 OU 的用户的计数。 此数字应与上一步的用户计数匹配。 如果在此 OU 中创建新用户,请验证是否已预配该用户。
启动调度程序 验证用户是否正在进行预配和同步后,你可以继续下一步,启动 Microsoft Entra Connect 计划程序。 有关详细信息,请参阅如何启动计划程序。
为其余用户安排时间 为其余用户、组、联系人和相关引用的对象创建分阶段迁移计划。 可以分批迁移,例如按 OU 分批,但在每个批次完全迁移并准备好进行切换之前,请将其保留在 Microsoft Entra Connect Sync 的范围内,并应用无流规则。
验证是否已预配所有用户 迁移用户时,请验证用户是否已正确预配和同步。
停止 Microsoft Entra Connect 在确认迁移范围内的所有对象均已由 Microsoft Entra Cloud Sync 预配,且其引用关系(例如组成员身份和经理关系)保持完整之后,您可以在最终切换时停止该范围内的 Microsoft Entra Connect Sync。 Microsoft建议在一段时间内将服务器保留为禁用状态,以便可以验证迁移是否成功。
验证迁移结果 根据 计划范围移除中所述验证迁移的对象及其引用。 有关引导式工具迁移,请参阅 验证同步结果。 有关疑问或问题,请查看 迁移常见问题解答 和 引导式工具故障排除。
解除 Microsoft Entra Connect 服务器 验证一切正常后,使 Microsoft Entra Connect 服务器脱机。 要了解详情,请参阅卸载 Microsoft Entra Connect。

验证用户脚本

# Filename:  VerifyAzureUsers.ps1
# Description: Counts the number of users in Azure that have a specific on-premises distinguished name.
#
# DISCLAIMER:
# Copyright (c) Microsoft Corporation. All rights reserved. This 
# script is made available to you without any express, implied or 
# statutory warranty, not even the implied warranty of 
# merchantability or fitness for a particular purpose, or the 
# warranty of title or non-infringement. The entire risk of the 
# use or the results from the use of this script remains with you.
#
#
#
#

Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "User.Read.All"

#Declare variables

$Users = Get-EntraUser -All:$true -Filter "DirSyncEnabled eq true"
$OU = "OU=Sales,DC=contoso,DC=com"
$counter = 0

#Search users

foreach ($user in $Users) {
  $test = $User.ExtensionProperty
  $DN = $test["onPremisesDistinguishedName"]
  if ($DN -match $OU)
	{
	$counter++
	}
}

Write-Host "Total Users found:" + $counter

详细信息