如果以下条件中有一个或多个成立,则可能需要使用以下方法之一:
- 使用批量授权媒体和批量授权通用产品密钥安装以下操作系统之一:
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows Server 2008
- Windows 10
- Windows 8.1
- Windows 8操作系统
- 激活向导无法连接到 KMS 主计算机。
尝试激活客户端系统时,激活向导使用 DNS 查找运行 KMS 软件的相应计算机。 如果向导查询 DNS,并且找不到 KMS 主机的 DNS 条目,向导将报告错误。
- 如果无法安装 KMS 主机,或者无法使用 KMS 激活,请尝试将 产品密钥更改为 MAK 过程。
- 如果必须安装并配置 KMS 主机,请使用配置客户端激活时所使用的 KMS 主机过程。
- 如果客户端找不到现有的 KMS 主机,请使用以下过程对路由配置进行故障排除。 这些过程从最简单到最复杂。
将产品密钥更改为 MAK
如果无法安装 KMS 主机,或者出于其他原因,无法使用 KMS 激活,请将产品密钥更改为 MAK。 如果你从 Microsoft 开发人员网络(MSDN)或 TechNet 下载了 Windows 映像,则媒体下面列出的保留单位(SKU)通常是批量许可媒体,提供的产品密钥是 MAK 密钥。
若要将产品密钥更改为 MAK,请执行以下步骤:
- 打开提升的命令提示符窗口。 为此,请按 Windows 徽标键+X,右键单击 命令提示符,然后选择“ 以管理员身份运行”。 如果收到管理员密码提示或确认提示,请键入密码或进行确认。
- 在命令提示符处运行以下命令:
slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
注释
xxxxx-xxxxx-xxxxx-xxxxx-xxxxx 占位符表示 MAK 产品密钥。
配置 KMS 主机以供客户端激活使用
KMS 激活要求配置客户端激活时所使用的 KMS 主机。 如果环境中未配置 KMS 主机,请使用相应的 KMS 主机密钥安装和激活一个。 在网络上配置计算机以托管 KMS 软件后,发布域名系统(DNS)设置。
有关 KMS 主机配置过程的信息,请参阅使用密钥管理服务激活并安装和配置 VAMT。
验证与 DNS 服务器的基本 IP 连接
使用 ping 命令验证与 DNS 服务器的基本 IP 连接。 为此,请对遇到错误的 KMS 客户端和 KMS 主计算机执行以下步骤:
- 打开提升的命令提示符窗口。
- 在命令提示符处运行以下命令:
ping <DNS_Server_IP_address>
注释
如果此命令的输出不包含短语“回复发件人”,则必须解决网络问题或 DNS 问题,然后才能使用本文中的其他过程。 有关如何排查 TCP/IP 问题(如果无法 ping DNS 服务器)的详细信息,请参阅 TCP/IP 问题的高级故障排除。
验证 KMS 主机的配置
检查 KMS 主机服务器的注册表,以确定它是否正在向 DNS 注册。 默认情况下,KMS 主机服务器每隔 24 小时动态注册一次 DNS SRV 记录。
重要
请认真遵循本部分所述的步骤。 如果注册表修改不正确,可能会发生严重问题。 在修改注册表之前,请备份注册表,以便在出现问题时可以还原。
若要检查此设置,请执行以下步骤:
- 启动注册表编辑器。 为此,请右键单击“ 开始”,选择“ 运行”,键入 regedit,然后按 Enter。
- 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 子项(Windows Server 2008 和 Windows Vista 中以前为 SL,而不是 SoftwareProtectionPlatform),然后查看 DisableDnsPublishing 条目的值。 此条目具有以下可能的值:
- 0 或未定义(默认值):KMS 主机服务器每 24 小时注册一次 SRV 记录。
- 1:KMS 主机服务器不会自动注册 SRV 记录。 如果实现不支持动态更新,请参阅 手动创建 KMS SRV 记录。
- 如果 缺少 DisableDnsPublishing 条目,请创建它(类型为 DWORD)。 如果可以接受动态注册,请将该值保留为未定义或设置为 0。
确定路由问题的类型
可以使用以下命令来确定这是名称解析问题还是 SRV 记录问题。
在 KMS 客户端上,打开提升的命令提示符窗口。
在命令提示符处运行以下命令:
cscript \windows\system32\slmgr.vbs -skms <KMS_FQDN>:<port> cscript \windows\system32\slmgr.vbs -ato
注释
在此命令中,<KMS_FQDN>表示 KMS 主计算机的完全限定域名(FQDN),端口<>表示 KMS 使用的 TCP 端口。
如果这些命令解决了该问题,则这是一个 SRV 记录问题。 可以使用 手动将 KMS 主机分配给 KMS 客户端 过程的其中一个命令来对其进行故障排除。
如果问题仍然存在,请运行以下命令:
cscript \windows\system32\slmgr.vbs -skms <IP Address>:<port> cscript \windows\system32\slmgr.vbs -ato
注释
在此命令中,<IP 地址>表示 KMS 主计算机的 IP 地址,端口<>表示 KMS 使用的 TCP 端口。
如果这些命令解决了该问题,这很可能是名称解析问题。 有关其他故障排除信息,请参阅 “验证 DNS 配置 过程”。
如果这些命令都无法解决问题,请检查计算机的防火墙配置。 KMS 客户端和 KMS 主机之间发生的任何激活通信都使用 1688 TCP 端口。 KMS 客户端和 KMS 主机上的防火墙必须允许通过端口 1688 进行通信。
验证 DNS 配置
注释
除非另有说明,否则请对遇到适用错误的 KMS 客户端执行这些步骤。
- 打开提升的命令提示符窗口
- 在命令提示符处运行以下命令:
IPCONFIG /all
- 在命令结果中,请注意以下信息:
- KMS 客户端计算机的分配 IP 地址
- KMS 客户端计算机使用的主 DNS 服务器的 IP 地址
- KMS 客户端计算机使用的默认网关的 IP 地址
- KMS 客户端计算机使用的 DNS 后缀搜索列表
- 验证 KMS 主机 SRV 记录是否已在 DNS 中注册。 要实现这一点,请执行下列操作:
- 打开提升的命令提示符窗口。
- 在命令提示符处运行以下命令:
nslookup -type=all _vlmcs._tcp>kms.txt
- 打开命令生成的 KMS.txt 文件。 此文件应包含类似于以下条目的一个或多个条目:
_vlmcs._tcp.contoso.com SRV service location: priority = 0 weight = 0 port = 1688 svr hostname = kms-server.contoso.com
注释
在此条目中,contoso.com 表示 KMS 主机的域。
- 验证 KMS 主机的 IP 地址、主机名、端口和域。
- 如果这些 _vlmcs 条目存在,并且它们包含预期的 KMS 主机名,请转到 手动向 KMS 客户端分配 KMS 主机。
注释
如果 nslookup 命令找到 KMS 主机,则并不意味着 DNS 客户端可以找到 KMS 主机。 如果 nslookup 命令找到 KMS 主机,但仍无法使用 KMS 主机激活,请检查其他 DNS 设置,例如主 DNS 后缀和 DNS 后缀的搜索列表。
- 验证主 DNS 后缀的搜索列表是否包含与 KMS 主机关联的 DNS 域后缀。 如果搜索列表不包含此信息,请转到 配置 KMS 主机以发布到多个 DNS 域的过程。
手动创建 KMS SRV 记录
若要为使用 Microsoft DNS 服务器的 KMS 主机手动创建 SRV 记录,请执行以下步骤:
- 在 DNS 服务器上,打开 DNS 管理器。 若要打开 DNS 管理器,请选择“ 开始”,选择 “管理工具”,然后选择 “DNS”。
- 选择要在其中创建 SRV 资源记录的 DNS 服务器。
- 在控制台树中,展开 “正向查找区域”,右键单击域,然后选择“ 其他新记录”。
- 向下滚动列表,选择 “服务位置”(SRV),然后选择“ 创建记录”。
- 键入以下信息:
- 服务: _VLMCS
- 协议: _TCP
- 端口号: 1688
- 提供服务的主机:<KMS 主机的 FQDN>
- 完成后,选择“ 确定”,然后选择“ 完成”。
若要为使用 BIND 9.x 兼容 DNS 服务器的 KMS 主机手动创建 SRV 记录,请按照该 DNS 服务器的说明作,并为 SRV 记录提供以下信息:
- 名称: _vlmcs._TCP
- 类型: SRV
- 优先级: 0
- 权重:
- 端口: 1688
- 主机名:<KMS 主机的 FQDN 或 A-Name>
若要配置 BIND 9.x 兼容的 DNS 服务器以支持 KMS 自动发布,请将 DNS 服务器配置为从 KMS 主机启用资源记录更新。 例如,将以下行添加到 Named.conf 或 Named.conf.local 中的区域定义:
allow-update { any; };
将 KMS 主机手动分配给 KMS 客户端
默认情况下,KMS 客户端使用自动发现过程。 根据此过程,KMS 客户端会查询 DNS 以获取在客户端成员资格区域中发布 _vlmcs
SRV 记录的服务器列表。 DNS 按随机顺序返回 KMS 主机列表。 客户端选取 KMS 主机并尝试在它上建立会话。 如果此尝试有效,客户端将缓存 KMS 主机的名称,并尝试将其用于下一次续订尝试。 如果会话设置失败,客户端会随机选取另一台 KMS 主机。 强烈建议使用自动发现过程。
但是,你可以手动将 KMS 主机分配给特定的 KMS 客户端。 要做到这一点,请遵循以下步骤。
- 在 KMS 客户端上,打开提升的命令提示符窗口。
- 根据具体的实现方式,请执行以下步骤之一:
- 若要使用主机的 FQDN 分配 KMS 主机,请运行以下命令:
cscript \windows\system32\slmgr.vbs -skms <KMS_FQDN>:<port>
- 若要使用主机的版本 4 IP 地址分配 KMS 主机,请运行以下命令:
cscript \windows\system32\slmgr.vbs -skms <IPv4Address>:<port>
- 若要使用主机的版本 6 IP 地址分配 KMS 主机,请运行以下命令:
cscript \windows\system32\slmgr.vbs -skms <IPv6Address>:<port>
- 若要使用主机的 NETBIOS 名称分配 KMS 主机,请运行以下命令:
cscript \windows\system32\slmgr.vbs -skms <NETBIOSName>:<port>
- 要切换到在 KMS 客户端上的自动检测,请运行以下命令:
cscript \windows\system32\slmgr.vbs -ckms
注释
这些命令使用以下占位符:
- < >KMS_FQDN 表示 KMS 主计算机的完全限定域名 (FQDN)
- <IPv4Address> 表示 KMS 主计算机的 IP 版本 4 地址
- <IPv6Address> 表示 KMS 主计算机的 IP 版本 6 地址
- <NETBIOSName> 表示 KMS 主计算机的 NETBIOS 名称
- <端口> 表示 KMS 使用的 TCP 端口。
- 若要使用主机的 FQDN 分配 KMS 主机,请运行以下命令:
将 KMS 主机配置为在多个 DNS 域中发布
重要
请认真遵循本部分所述的步骤。 如果注册表修改不正确,可能会发生严重问题。 在修改注册表之前,请备份注册表,以便在出现问题时可以还原。
如 手动将 KMS 主机分配给 KMS 客户端中所述,KMS 客户端通常使用自动发现过程来标识 KMS 主机。 此过程要求 _vlmcs
SRV 记录必须在 KMS 客户端计算机的 DNS 区域中可用。 DNS 区域对应于计算机的主要 DNS 后缀或以下任一名称:
- DNS 系统(例如 Active Directory 域服务 (AD DS) DNS)分配的计算机域(适用于已加入域的计算机)。
- 对于工作组计算机,计算机所属的域是由动态主机配置协议(DHCP)分配的。 此域名由代码值为 15 的选项定义,如“征求意见”(RFC) 2132 中所述。
默认情况下,KMS 主机在与 KMS 主机域相对应的 DNS 区域中注册其 SRV 记录。 例如,假设 KMS 主机加入 contoso.com 域。 在此方案中,KMS 主机在 contoso.com DNS 区域下注册其 _vlmcs
SRV 记录。 因此,记录将服务标识为 _VLMCS._TCP.CONTOSO.COM
。
如果 KMS 主机和 KMS 客户端使用不同的 DNS 区域,则必须将 KMS 主机配置为在多个 DNS 域中自动发布其 SRV 记录。 为此,请执行以下步骤:
- 在 KMS 主机上,启动注册表编辑器。
- 找到并选择 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 子项(在 Windows Server 2008 和 Windows Vista 中,之前称为 SL,而不是 SoftwareProtectionPlatform)。
- 在“ 详细信息 ”窗格中,右键单击空白区域,选择“ 新建”,然后选择 “多字符串值”。
- 对于新条目的名称,请输入 DnsDomainPublishList。
- 右键单击新的 DnsDomainPublishList 条目,然后选择“ 修改”。
- 在 “编辑多字符串 ”对话框中,键入 KMS 在单独的行上发布的每个 DNS 域后缀,然后选择“ 确定”。
注释
对于 Windows Server 2008 R2,DnsDomainPublishList 的格式有所不同。 有关详细信息,请参阅批量激活技术参考指南。
- 使用服务管理工具重启软件保护服务(以前是 Windows Server 2008 和 Windows Vista 中的软件许可服务)。 此操作将创建 SRV 记录。
- 使用典型方法验证 KMS 客户端是否可以联系你配置的 KMS 主机。 验证 KMS 客户端是否正确按名称和 IP 地址标识 KMS 主机。 如果其中任一验证失败,请调查此 DNS 客户端解决程序问题。
- 若要清除 KMS 客户端上以前缓存的任何 KMS 主机名,请在 KMS 客户端上打开提升的命令提示符窗口,然后运行以下命令:
cscript C:\Windows\System32\slmgr.vbs -ckms