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