ADMT 安装和设置
Active Directory Migration Tool (ADMT) 可从 Microsoft 网站 下载,且需要预先配置的 Microsoft SQL Server 实例来存储其底层数据。
- 针对 SQL Server Express 用户: ADMT 需要直接安装并运行在托管 SQL Server Express 数据库实例的服务器上。
- 对于完整的 SQL Server 用户: 您可以灵活地在远程计算机上安装并运行 ADMT 控制台,并可选择在不同远程计算机上运行多个 ADMT 控制台。
ADMT 先决条件和建议
- 用于 ADMT 迁移的帐户必须是目标域中的域管理员。
- 它还必须是源域中 Administrators 组的成员。
- 此外,应将目标域的 Administrator 帐户添加到源域的 Administrators 组,以便于信任和迁移权限。
- ADMT 必须安装在安装了 ADManager Plus 的计算机上。
- 安装 ADMT 后,重启 ADManager Plus 以确保命令提示符识别新安装的程序。
- 必须在源域和目标域中创建一个名为 $$$ 的空组。
- 在安装 ADMT 之前,请确保通过 添加或删除程序(位于 控制面板)卸载所有旧版本。
- 虽然 ADMT 不支持直接升级,但您可以重用现有的 SQL Server 数据库 v3.0 及以上版本。SQL Server 数据库 v1.0 和 v2.0 不兼容。
- 为获得最佳性能,避免在运行 Server Core 或只读域控制器 (RODC) 的服务器上安装 ADMT。
- 设置 SQL Server 时,您有两个选项:
- 本地安装 SQL Server Express。
- 使用现有的 SQL Server 实例创建所需的 ADMT 数据库。
- 建议将 ADMT 安装在目标域控制器上以获得最佳效果。
- 使用 ADManager Plus 服务帐户登录安装了 ADMT 的计算机,或使用该帐户运行 SQL Server 和 ADMT 安装。这有助于避免安装和运行期间的权限问题。
为 ADMT 设置 SQL Server
ADMT v3.2 需要预配置的 SQL Server 实例作为其数据存储。如果选择使用 SQL Server Express,请确保满足以下要求:
- 必须安装带有 Service Pack 3 (SP3) 及以上版本的 SQL Server 2005 Express。
- SQL Server 2008 Express 需要 Service Pack 1 (SP1) 及以上版本。
注意:
- 确保在 SQL Server 安装的 服务器配置 步骤中使用的服务帐户与迁移过程中使用的帐户相同,包括 ADManager Plus 的 域设置 配置。
- 在 数据库引擎配置 页面,选择 Windows 身份验证模式,并在 指定 SQL Server 管理员 下添加迁移服务帐户,以确保正确的权限。
安装 ADMT
安装 ADMT 需要管理员权限或等效权限。请按照以下步骤完成安装:
- 从 ADMT 下载包中双击 admtsetup32.exe 启动安装程序。
- 在 欢迎 页面,确认所有先决条件和建议均已完成,然后点击 下一步。
- 接受许可协议,点击 下一步 继续。
-
On the 数据库选择 page, enter the 数据库(服务器\实例) name. For local installations, you can use a full stop (“.”) to represent the local server. By default, the SQL Server Express instance is named SQLEXPRESS.
- 例如,要使用本地服务器上的默认 SQL Server Express 实例,请输入 ".\SQLEXPRESS"。
- 如果选择 SQL Express 且在默认位置 (%windir%\ADMT\Data) 未找到 ADMT.mdf 数据库文件,将显示 数据库导入 页面。如果文件存在,ADMT 会自动附加该文件,并显示 摘要 页面。
- 在 数据库导入 页面,如果您不想导入数据,请选择默认的 否,不从现有数据库导入数据。如果需要从之前的 ADMT 安装导入数据,请选择 是,从现有的 ADMT v3.0 或 ADMT v3.1 数据库导入数据,并浏览文件位置。
- 在从现有数据库导入数据之前,请确保使用适当的 SQL Server 命令将数据库文件从 SQL Server 分离。
- 最后,检查 摘要 页面上的详细信息,点击 完成 以完成安装。
sIDHistory 迁移要求
要成功迁移 sIDHistory,请确保以下依赖项已就绪:
-
启用成功和失败审核
源域和目标域均需启用账户管理审核。要启用此功能,请导航至 Default Domain Controllers Policy > Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Audit Policy。
- 右键点击 审核帐户管理,选择 属性。
- 勾选 定义这些策略设置,并启用 成功 和 失败 两个选项。
- 点击 OK 应用设置。


-
创建一个空的本地组
在源域中创建一个名为“{SourceNetBIOSDom}$$$”的空本地组。
-
注册表配置
在源域的主域控制器上,将注册表键 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA\TcpipClientSupport 设置为 1。
-
重启主域控制器
配置注册表后,重启源域的主 DC 以使更改生效。
-
管理员权限
执行迁移的用户帐户必须在源域和目标域中都具有管理员权限。
可选地,ADMT 可以自动修复未正确配置的依赖项。要使用此功能,请确保运行 ADMT 的账户在每个域中具有足够权限进行这些更改。
安装 ADMT 密码迁移 DLL
要成功将用户密码从源域迁移到目标域,必须在源域的域控制器上安装 ADMT 密码迁移 DLL。
按照以下步骤安装 ADMT 密码迁移 DLL:
-
Before you install ADMT Password Migration DLL, you need to create an encryption key from the domain controller running ADMT in the target domain. Run ADMT Key /Option:Create /SourceDomain: <SourceDomainName> /KeyFile:C:\FMP\FileMigPass.pes /KeyPassword: <Password> in the command prompt with admin privilege to create the encryption key.

-
On the 欢迎使用 ADMT 密码迁移 DLL 安装向导 page, click 下一页.

-
Accept the license agreement and proceed by clicking 下一步。

-
On the 加密文件 page, click on 浏览and choose the key file created on the ADMT installed machine. Click 下一步。



-
Enter the password used while creating the encryption key in Step 1, then click确定。

-
On the 准备安装 ADMT 密码迁移 DLL page, click 安装to begin installation.

-
Now, run the 密码导出服务器 (PES) service as an ADMT account in the target domain. Enter the password and click 确定.

-
Click 确定on the dialogue box that states the 'Log On As A Service' right has been granted to the specified account.

-
To exit the 安装向导, click 完成.

-
Click 是 to restart the domain controller and complete the ADMT Password Migration DLL installation.

启动密码导出服务器服务
重启域控制器后,需要手动启动密码导出服务器服务。启动服务的方法如下:
- 导航至 开始 > 管理工具 > 服务。
- 在 服务(本地) 页面选择 密码导出服务器服务,然后点击 启动。

密码导出服务器服务现已运行,状态显示在 状态 列中。

迁移最佳实践
- 定期备份:在迁移过程中,务必定期备份源域和目标域的域控制器。如果迁移的计算机包含文件共享,为了安全起见,确保这些机器在整个迁移过程中也有备份。
- 先进行测试迁移:在开始全面迁移之前,创建一个测试用户并将其添加到必要的全局组。迁移前后验证对资源的访问,以确认一切正常。
- 在受控环境中测试:始终在测试环境中运行迁移方案,避免直接在生产环境中更改。这有助于及早发现并解决潜在问题。
- 制定恢复计划:良好的恢复计划至关重要。在迁移前阶段彻底测试该计划,确保需要时能有效执行。
- 时间同步:确保所有参与迁移的域系统时间同步。时间不一致会导致 Kerberos 认证失败,因此此步骤对顺利迁移至关重要。
ADMT 的限制
-
过时的操作系统支持
ADMT 最初发布时支持迁移到 Windows 2000 和 Windows Server 2003。它尚未更新以支持以下较新操作系统:
- Windows 11
- Windows 10
- Windows 8.1
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
-
不支持的操作系统问题
在不支持的操作系统上运行 ADMT 可能会遇到以下已知问题:
- 无法从 Windows 7 或 Windows Server 2008 R2 之后的操作系统迁移用户配置文件。
- ADMT 与现代操作系统使用的安全默认设置不兼容。
- ADMT 未经过新版 Microsoft SQL Server 的测试,可能导致不兼容或错误。
-
含特殊字符导致迁移失败
如果对象名称或 OU 名称包含双引号等特殊字符,使用 ADMT 命令行选项时迁移将失败。
-
与 Windows Defender Credential Guard 不兼容
在启用 Windows Defender Credential Guard 的设备上,ADMT 将无法运行。您可能会遇到如下错误:
“无法移动源对象 CN=User1。请确认调用者的帐户未标记为敏感,因此无法被委派。hr=0x8009030e。安全包中没有可用的凭据。”
解决方案:暂时禁用 ADMT 服务器上的 Credential Guard。
注意:更改 Credential Guard 设置前,请务必咨询您的安全团队,并确保在进行任何更改之前备份 ADMT 服务器。
-
不受限制委派要求
迁移期间,ADMT 需要域控制器使用无限制委派,但这已不再推荐。
解决方案:在目标域控制器上安装并运行 ADMT,以消除对委派的需求。
-
迁移时排除的属性
当您首次运行 ADMT 用户迁移时,工具会生成一个系统属性排除列表,并将其存储在数据库中。默认情况下,该排除列表包含两个属性:mail 和 proxyAddresses。此外,ADMT 会扫描目标域的架构,并自动排除基架构中不存在的任何属性。
解决方案:管理员只能通过脚本修改系统属性排除列表。
例如,要从排除列表中移除 mail 和 proxyAddresses 属性:
- 将以下代码复制并粘贴到记事本中,然后以 .vbs 扩展名保存(例如,DisplayExclusionList.vbs):Set o = CreateObject("ADMT.Migration") WScript.Echo o.SystemPropertiesToExclude
- 打开 管理员命令提示符,导航至 C:\Windows\SysWow64,运行以下命令以执行脚本:cscript.exe <存放 DisplayExclusionList.vbs 脚本的位置>\DisplayExclusionList.vbs
- 在显示的输出中验证排除属性列表,包括 mail 和 proxyAddresses。
-
After confirming that only the necessary attributes are excluded, modify the exclusion list by running the following steps:
- 将以下脚本复制到记事本中,然后以 .vbs 扩展名保存,例如 ExclusionList.vbs:Set o = CreateObject("ADMT.Migration")o.SystemPropertiesToExclude = "<删除 mail 和 proxyAddresses 后的属性列表>"
- 使用以下命令运行脚本:cscript.exe <存放 ExclusionList.vbs 脚本的位置>\ExclusionList.vbs
这样您就可以根据需要调整迁移期间排除的属性。