Microsoft Entra Connect:从旧版升级到最新版本
本主题介绍可将 Microsoft Entra Connect 安装升级到最新版本的不同方法。 当你做出重大的配置更改或者从旧的 1.x 版本升级时,Microsoft 建议使用交叉迁移部分中所述的步骤。
注意
让服务器与最新版本的 Microsoft Entra Connect 保持同步非常重要。 我们会不断地对 Microsoft Entra Connect 升级,这些升级包括对安全问题和 bug 的修复,以及对可维护性、性能和可伸缩性的改进。 若要查看最新版本是什么,并了解版本之间发生了哪些更改,请参阅发布版本历史记录
目前,早于 Microsoft Entra Connect V2 的任何版本均已弃用。 有关更多信息,请参阅 Microsoft Entra Connect V2.0 简介。 当前支持从任何版本的 Microsoft Entra Connect 升级到当前版本。 不支持 DirSync 或 ADSync 的就地升级,必须进行交叉迁移。 如果要从 DirSync 升级,请参阅从 Azure AD Sync 工具 (DirSync) 升级或交叉迁移部分。
实际上,旧版本的客户可能会遇到不是与 Microsoft Entra Connect 直接相关的问题。 已经投入生产多年的服务器通常都应用了几个修补程序,并非所有这些都能解释清楚。 在 12-18 个月(大约 1 年半)内未升级过的客户应考虑交叉升级,因为这是最保守且风险最低的选项。
可以采用几种不同的策略来升级 Microsoft Entra Connect。
方法 | 描述 | 优点 | 缺点 |
---|---|---|---|
自动升级 | 对于使用快速安装的客户,这是最容易的方法 | - 无需人工干预 | - 自动升级版本可能不包含最新功能 |
就地升级 | 如果你只有一台服务器,可在该服务器上就地升级安装 | - 不需要其他服务器 |
- 如果在就地升级时出现问题,则无法在准备好时回滚新版本或配置并更改活动服务器 |
交叉迁移 | 在切换之前,可以在旁边构建一个新的更新服务器 | - 最安全的方法,更顺畅地过渡到较新版本 - 支持 Windows OS(操作系统)升级 - 同步不会被中断,也不会对生产造成风险 |
- 需要在单独的服务器上安装 |
有关权限信息,请参阅升级所需权限。
注意
启用新的 Microsoft Entra Connect 服务器并开始将更改同步到 Microsoft Entra ID 后,不得通过回退来使用 DirSync 或 Azure AD Sync。不支持从 Microsoft Entra Connect 降级到旧客户端(包括 DirSync 和 Azure AD Sync),那样可能会导致各种问题,例如数据在 Microsoft Entra ID 中丢失。
就地升级
就地升级适用于从 Azure AD Sync 或 Microsoft Entra Connect 迁移。 其不适用于从 DirSync 进行移动。
如果只有一台服务器且对象数少于约 100,000 个,则这是首选方法。 升级后,如果对现成的同步规则进行任何更改,则会发生完全导入和完全同步。 此方法可确保将新配置应用到系统中的所有现有对象。 此运行可能需要花费几小时的时间,具体取决于同步引擎作用域内的对象数。 正常增量同步计划程序(默认为每隔 30 分钟同步一次)会暂停,但密码同步会继续。 可以考虑在周末进行就地升级。 如果未对新版 Microsoft Entra Connect 中的现成配置进行更改,则将改为启动一般的增量导入/同步。
如果已更改现成的同步规则,这些规则会在系统升级完成之后重置为默认配置。 为了确保配置在每次升级之后得到保留,请务必按照更改默认配置的最佳做法中所述的步骤来更改配置。 如果你已更改默认同步规则,请先查看如何在 Microsoft Entra Connect 中修复已修改的默认规则,然后开始执行升级过程。
在就地升级过程中,可能会引入更改,要求在升级完成后执行特定同步活动(包括完全导入步骤和完全同步步骤)。 若要推迟这些活动,请参考如何在升级后推迟完全同步部分。
如果你正在将 Microsoft Entra Connect 与非标准连接器(例如通用 LDAP(轻型目录访问协议)连接器和通用 SQL 连接器)配合使用,则必须在就地升级后,刷新 Synchronization Service Manager 中的相应连接器配置。 有关如何刷新连接器配置的详细信息,请参阅文章部分连接器版本发行历史记录 - 故障排除。 如果不刷新配置,针对连接器的导入和导出运行步骤将无法正常工作。 应用程序事件日志中会收到以下错误:
Assembly version in AAD Connector configuration ("X.X.XXX.X") is earlier than the actual version ("X.X.XXX.X") of "C:\Program Files\Azure AD Sync\Extensions\Microsoft.IAM.Connector.GenericLdap.dll".
交叉迁移
对于某些客户而言,如果就地升级时出现问题并且服务器无法回滚,则升级可能会给生产造成相当大的风险。 使用一台生产服务器也可能不切实际,因为初始同步周期可能需要数日,而在此期间,不会处理任何增量更改。
针对这些方案的建议方法是使用交叉迁移。 需要升级 Windows Server 操作系统,或者计划对环境配置进行重大更改(这些更改需要在投入生产之前经过测试)时,也可以使用此方法。
至少需要两台服务器 - 一台是活动服务器,另一台是过渡服务器。 活动服务器(在下图中以蓝色实线表示)负责处理活动生产负载。 过渡服务器(以紫色虚线表示)已升级到最新版本或配置。 完全就绪以后,该服务器处于活动状态。 将目前安装了已过时版本或配置的前一台活动服务器设为过渡服务器,并进行升级。
两台服务器可以使用不同的版本。 例如,打算解除的活动服务器可以使用 Azure AD Sync,新的过渡服务器可以使用 Microsoft Entra Connect。 如果使用交叉迁移来开发新配置,则建议在两台服务器上使用相同的版本。
注意
对于这种方案,有些客户更愿意使用三到四台服务器进行交叉迁移。 升级过渡服务器后,将没有备份服务器用于灾难恢复。 如果使用三到四台服务器,就可以准备一组装有更新版本的主服务器/待机服务器,确保始终都有用于接管的过渡服务器。
以下步骤也适用于从 Azure AD Sync 进行移动,或者从使用 MIM 和 Microsoft Entra 连接器的解决方案进行移动。 这些步骤不适用于 DirSync,但是,可以在升级 Azure Active Directory 同步 (DirSync) 一文中找到适用于 DirSync 的相同交叉迁移(也称为并行部署)方法的步骤。
使用交叉迁移来升级
- 如果你只有一台 Microsoft Entra Connect 服务器,并想要从 AD Sync 升级或者从旧版本升级,则建议在新的 Windows Server 上安装新版本。 如果你已有两台 Microsoft Entra Connect 服务器,请先升级过渡服务器。 并将过渡服务器提升为活动服务器。 建议始终让一对活动/过渡服务器运行相同版本,但并非必需。
- 如果创建了自定义配置,但过渡服务器没有该配置,请执行将自定义配置从活动服务器移到过渡服务器部分的步骤。
- 让同步引擎在过渡服务器上运行完全导入和完全同步。
- 使用验证服务器的配置部分中“验证”下面列出的步骤,验证新配置是否不会造成任何意外的更改。 如有任何不符合预期的配置,请予以更正,运行同步周期,然后验证数据,直到数据正常。
- 在升级另一台服务器之前,将其切换到过渡模式,并将过渡服务器提升为活动服务器。 这是验证服务器的配置过程中的最后一步“切换活动服务器”。
- 将现在处于过渡模式的服务器升级到最新版本。 按照与前面相同的步骤来升级数据和配置。 如果要从 Azure AD Sync 升级,现在可以关闭并解除旧服务器。
注意
必须完全解除旧的 Microsoft Entra Connect 服务器,因为当旧同步服务器保留在网络上或稍后不慎开机时,这些服务器可能会导致难以排查的同步问题。 此类“流氓”服务器往往会将 Microsoft Entra 数据覆盖为其旧信息,因为它们可能不再能够访问本地 Active Directory(例如,在计算机帐户已过期、连接器帐户密码已更改等情况下),但仍可以连接到 Microsoft Entra ID,导致属性值在每个同步周期(例如每隔 30 分钟)不断还原。 若要完全解除 Microsoft Entra Connect 服务器,请确保完全卸载相应产品及其组件,或者永久删除该服务器(如果它是虚拟机)。
将自定义配置从活动服务器移到过渡服务器
如果你对活动服务器做了配置更改,需确保将相同的更改应用到新的过渡服务器。 为了帮助完成这一举措,可以使用导出和导入同步设置的功能。 使用此功能,可以通过几个步骤部署新的过渡服务器,其设置与网络中的另一个 Microsoft Entra Connect 服务器完全相同。
移动单个自定义同步规则
对于创建的各个自定义同步规则,可以使用 PowerShell 移动它们。 如果必须在两个系统上以相同方式应用其他更改,并且无法迁移更改,则可能需要在两台服务器上手动进行以下配置:
- 与相同林的连接
- 任何域和 OU 筛选
- 相同的可选功能,例如密码同步和密码写回
复制自定义同步规则
若要将自定义同步规则复制到另一台服务器,请执行以下操作:
在活动服务器上打开“同步规则编辑器”。
选择自定义规则。 单击“导出”。 此时会打开一个记事本窗口。 使用 PS1 扩展名保存临时文件。 这样就可以将它转换为 PowerShell 脚本。 将此 PS1 文件复制到过渡服务器。
过渡服务器上的连接器 GUID(全局唯一标识符)不同,必须更改。 要获取 GUID,请启动“同步规则编辑器”,选择表示同一个已连接系统的现成规则之一,并单击“导出”。 将 PS1 文件中的 GUID 替换为过渡服务器中的 GUID。
在 PowerShell 命令提示符下运行 PS1 文件。 这会在过渡服务器上创建自定义同步规则。
针对所有自定义规则重复此步骤。
如何在升级后推迟完全同步
在就地升级过程中,可能会引入更改,要求执行特定同步活动(包括完全导入步骤和完全同步步骤)。 例如,在受影响的连接器上,连接器架构更改要求执行“完全导入”步骤,现成同步规则更改要求执行“完全同步”步骤 。 升级过程中,Microsoft Entra Connect 确定必需执行哪些同步活动,并将它们记录为“替代”。 在以下同步周期中,同步计划程序将选取并执行这些替代。 成功执行替代后,会将其移除。
在某些情况下,我们可能不希望在升级后立即执行这些替代。 例如,你有大量已同步对象,并希望在下班时间执行同步步骤。 若要移除这些替代,请执行以下操作:
在升级过程中,取消选中“在配置完成后启动同步流程”选项 。 这将禁用同步计划程序,并防止在替代移除之前自动进入同步周期。
升级完成后,运行以下 cmdlet,找出添加的替代:
Get-ADSyncSchedulerConnectorOverride | fl
注意
该替代特定于连接器。 以下示例中,已在本地 AD 连接器和 Microsoft Entra 连接器中添加完全导入步骤和完全同步步骤。
记下已添加的现有替代。
若要删除任意连接器上的完全导入和完全同步替代,请运行以下 cmdlet:
Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier <Guid-of-ConnectorIdentifier> -FullImportRequired $false -FullSyncRequired $false
若要删除所有连接器上的替代,请执行以下 PowerShell 脚本:
foreach ($connectorOverride in Get-ADSyncSchedulerConnectorOverride) { Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier $connectorOverride.ConnectorIdentifier.Guid -FullSyncRequired $false -FullImportRequired $false }
若要恢复计划程序,请运行以下 cmdlet:
Set-ADSyncScheduler -SyncCycleEnabled $true
重要
请务必尽早执行必需的同步步骤。 可使用 Synchronization Service Manager 手动执行这些步骤,或使用 Set-ADSyncSchedulerConnectorOverride cmdlet 重新添加替代。
若要在任意连接器上添加完全导入和完全同步的替代,请运行以下 cmdlet:Set-ADSyncSchedulerConnectorOverride -ConnectorIdentifier <Guid> -FullImportRequired $true -FullSyncRequired $true
升级服务器操作系统
如果需要升级 Microsoft Entra Connect 服务器的操作系统 (OS),建议的方法是准备一台装有所需操作系统的新服务器并执行交叉迁移。
但是,如果不可能那样做,则可以使用以下就地操作系统升级。
初始操作系统 | 支持的就地升级操作系统 |
---|---|
Windows Server 2106 | Windows Server 2022 |
Windows Server 2019 | Windows Server 2022 |
故障排除
以下部分包含故障排除内容以及在遇到 Microsoft Entra Connect 升级问题时可以使用的信息。
Microsoft Entra Connect 升级期间 Microsoft Entra 连接器缺少错误
如果从旧版本升级 Microsoft Entra Connect,在升级一开始可能会发生以下错误:
此错误发生的原因是当前 Microsoft Entra Connect 配置中不存在标识符为 b891884f-051e-4a83-95af-2544101c9083 的 Microsoft Entra 连接器。 若要验证此情况,打开 PowerShell 窗口并运行 cmdlet Get-ADSyncConnector -Identifier b891884f-051e-4a83-95af-2544101c9083
PS C:\> Get-ADSyncConnector -Identifier b891884f-051e-4a83-95af-2544101c9083
Get-ADSyncConnector : Operation failed because the specified MA could not be found.
At line:1 char:1
+ Get-ADSyncConnector -Identifier b891884f-051e-4a83-95af-2544101c9083
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ReadError: (Microsoft.Ident...ConnectorCmdlet:GetADSyncConnectorCmdlet) [Get-ADSyncConne
ctor], ConnectorNotFoundException
+ FullyQualifiedErrorId : Operation failed because the specified MA could not be found.,Microsoft.IdentityManageme
nt.PowerShell.Cmdlet.GetADSyncConnectorCmdlet
PowerShell cmdlet 将报告错误“找不到指定的 MA” 。
发生此错误的原因是当前 Microsoft Entra Connect 配置不支持升级。
如果要安装较新版本的 Microsoft Entra Connect:关闭 Microsoft Entra Connect 向导,卸载现有的 Microsoft Entra Connect,并全新安装较新的 Microsoft Entra Connect。
后续步骤
详细了解如何将本地标识与 Microsoft Entra ID 集成。