更改 Active Directory 域控制器的计算机名称,一般不应该从 Windows 的设置应用中,直接使用”重命名这台电脑“按钮进行修改。也不应该从”系统属性“面板中,点击”更改“按钮来重命名计算机。因为这可能会造成各种问题,例如造成计算机属性和 AD 数据库中的信息不一致,导致在下次登录服务器时:
The SAM database on the windows server does not have a computer account for this workstation trust relationship.
服务器上的安全数据库没有此工作站信任关系的计算机帐户。
使用 Netdom
修改域控制器计算机名称
所以,建议使用 Netdom
来重命名域控制器的计算机名称。
这里假设我的域控制器计算机名称为 WIN-BLAHBLAH
,想修改为 ADS01
,域名为 mikumoe.com
。
操作步骤
0x01 运行 Powershell
以管理员身份运行 Powershell。
在 Powershell 中,你可以通过 /ENUMerate
来获取当前服务器或计算机可用的 FQDN,例如:
1 | PS C:\Windows\system32> netdom computername WIN-BLAHBLAH.mikumoe.com /enumerate |
在这里,我们只有一条记录。
0x02 新建新计算机名 FQDN
在域控制器上,新建一条新计算机名的 FQDN(Fully Qualified Domain Name)记录。这会在 Active Directory 数据库中新增一条 SPN 记录的同时,也会在 DNS 服务器中新增一条 SRV 记录:
1 | netdom computername <当前计算机名称> /add:<新的计算机名称> |
例如:
1 | PS C:\Windows\system32> netdom computername WIN-BLAHBLAH.mikumoe.com /add:ADS01.mikumoe.com |
此时,再次通过 /ENUmerate
查看计算机可用的 FQDN,就会发现有了 2 条记录:
1 | PS C:\Windows\system32> netdom computername WIN-BLAHBLAH.mikumoe.com /ENUMerate |
0x03 设置主名称
使用 /MakePrimary
把新的计算机名称,设置为主名称:
1 | netdom computername <当前计算机名称> /makeprimary:<新的计算机名称> |
例如:
1 | PS C:\Windows\system32> netdom computername WIN-BLAHBLAH.mikumoe.com /makeprimary:ADS01.mikumoe.com |
随后,根据提示,需要重启服务器。
0x04 移除旧的计算机名 FQDN
重启完毕后,使用以管理员身份运行 Powershell,移除旧的域控制器计算机名称:
1 | netdom computername <新的计算机名称> /remove:<当前计算机名称> |
例如:
1 | PS C:\Windows\system32> netdom computername ADS01.mikumoe.com /remove:WIN-BLAHBLAH.mikumoe.com |
再次查看计算机可用的 FQDN,此时就只有一条记录了:
1 | PS C:\Windows\system32> netdom computername ADS01.mikumoe.com /ENUMerate |
0x05 检查一下
此时,在服务器管理器的面板中,应该已经能看到新的计算机名,显示 ADS01
。
为确认新的计算机名称已被正常应用,我们还可以打开 DNS 管理器进行确认。
例如,我在正向查找区域 mikumoe.com
中,可以看到新的 FQDN ADS01.mikumoe.com
已经被添加到 DNS 中。
但同时发现,旧的 FQDN WIN-BLAHBLAH.mikumoe.com
依然存在于 DNS 记录里,因此可以右键手动删除。
包括在 mikumoe.com/_sites/Default-First-Site-Name/_tcp
目录中的相关 SRV 记录,也更新为了 ADS01.mikumoe.com
。
最后,还可以使用以下命令验证 FSMO 信息:
1 | netdom query fsmo |
例如:
1 | PS C:\Windows\system32> netdom query fsmo |
Wow, nice!