为Windows计算机添加多个替代DNS名称
在迁移方案中,通常有必要使用旧主机名访问Windows服务器(计算机)。通过新名称访问计算机的最简单方法是向指向旧的FQDN名称(记录)的DNS添加别名(CNAME)。
可以使用DNS Manager控制台添加旧主机名的cname别名(dnsmgmt.msc)或通过add-dnsserverresourcerecordcordcname命令:
Add-DnsServerResourceRecordCName -ZoneName woshub.loc -Name new-wks11 -HostNameAlias wks11.woshub.loc

但是,如果您创建了DNS别名,则使用新的主机名访问计算机时无法执行Kerberos身份验证。这是因为当您将DNS记录添加到计算机时,AD对象属性中的SPN(服务主名)值未更新。
Windows Server具有内置netdom.exe可用于正确添加其他主机名的命令。例如,如果要在FS01计算机中添加第二个主机名,请使用替代FQDN运行以下命令:
netdom computername fs01 /ADD new-fs01.woshub.loc
在DNS中注册新名称:
ipconfig /registerdns
NETDOM命令将在DNS中注册CNAME记录,将新名称添加到eLTERTATECOMPUTERNAMES注册表参数(如下所述),并更新servicePrincipalName和msDS-AdditionalDnsHostNameAD中计算机帐户的属性。
列出所有注册的计算机名称:
netdom computername m-dc01 /enum


获取计算机帐户的注册SPN:
setspn.exe -L fs01
Windows 10和11中缺少NetDom.exe命令,因此您需要更改注册表以手动添加一个其他主机名。
添加替代DNS名称:
- 在
HKLMSystemCurrentControlSetServicesDNSCacheParameters注册表密钥,创建一个称为reg_multi_sz参数替代eComputernames。

- 为此指定另一个FQDN名称(或多个名称)(每行一个FQDN)
- 在DNS中注册计算机名称:
ipconfig /registerdns - 将新的计算机名称添加到SPN:
SETSPN -a host/new-wks11 wks11
SETSPN -a host/new-wks11_name.woshub.loc wks11
要向计算机添加替代的NetBios名称,请创建可选名称参数(reg_multi_sz)HKLMSystemCurrentControlSetServicesLanManServerParametersreg键。


然后重新启动Lanmanserver服务:
net stop lanmanserver
net start lanmanserver
如果由于某种原因无法在AD中更新计算机的SPN,请创建一个称为reg_dword参数残障限制((HKLMSystemCurrentControlSetServicesLanmanServerParameters)并设置为1。这将允许以新名称访问该计算机上的共享SMB文件夹。
