许可与激活

激活Windows时出现错误0x8007232B“DNS 名称不存在” - Windows Server

· 52CE 我爱测

总结 本文可帮助你排查和解决错误 0x8007232B (DNS name does not exist)。 尝试使用密钥管理服务(KMS)激活Windows时,会发生此错误。 此错误通常意味着 KMS 客户端无法使用自动发现过程找到有效的 KMS 主机。 本文中的故障排除步骤将引导你完成最常见的原因,包括 DNS 配置问题、不正确的 KMS 主机设置和网络连接问题。 这些步骤适用于物理计算机、本地虚拟机(VM)和Azure VM。 症状 尝试激活Wind

总结

本文可帮助你排查和解决错误 0x8007232B (DNS name does not exist)。 尝试使用密钥管理服务(KMS)激活Windows时,会发生此错误。 此错误通常意味着 KMS 客户端无法使用自动发现过程找到有效的 KMS 主机。

本文中的故障排除步骤将引导你完成最常见的原因,包括 DNS 配置问题、不正确的 KMS 主机设置和网络连接问题。 这些步骤适用于物理计算机、本地虚拟机(VM)和Azure VM。

症状

尝试激活Windows系统时,Windows脚本主机中看到以下错误消息:

**Error: 0x8007232B** DNS name does not exist.

原因

如果密钥管理服务(KMS)客户端在 DNS 中找不到 KMS 主机的服务器资源记录(SRV RR),则会出现此错误消息。

默认情况下,KMS 客户端会通过查询 DNS,自动查找客户端所属区域内已发布 _vlmcs SRV 记录的服务器列表,从而定位 KMS 主机。 DNS 按随机顺序返回 KMS 主机列表。 客户端选取 KMS 主机,并尝试在它上建立会话。 如果此尝试成功,客户端将缓存 KMS 主机的名称,并尝试将其用于下一次续订尝试。 如果尝试失败,客户端会随机选取另一台 KMS 主机。 强烈建议使用自动发现过程。

此问题的最常见原因包括以下方案:

  • 防火墙规则或网络安全组 (NSG) 规则阻止 DNS 解析。
  • 客户端配置为使用特定的 KMS 主机,但 KMS 主机名不正确或无效。
  • KMS 主机未将 KMS SRV 记录发布到客户端使用的 DNS 服务器。 此外,DNS 服务器没有通往包含这些记录的 DNS 服务器的转发或递归路径。

解决方案

使用以下步骤排查并修复问题。 若要从这些过程获得最佳结果,请在受影响的计算机上安装 PsPing 工具。 如果你有一台自托管的 KMS 服务器,也请在该计算机上安装 PSPing 工具。

还应熟悉脚本slmgr。

Important

如果您遇到 Azure 虚拟机 (VM) 的 Windows 激活问题,请参阅 Azure 虚拟机上 Windows 激活问题的故障排除工具。

步骤 1:确保 KMS 主机可用,或使用 Azure KMS 服务

若要使用 KMS 激活,您的环境中必须有一台 KMS 主机,以便客户端通过它完成激活。 如果客户端Azure VM,则可以使用 Azure KMS 服务。 如果没有自承载 KMS 主机,并且无法使用 Azure KMS,请使用以下方法之一:

  • 方法 1: 配置自承载 KMS 服务器
  • 方法 2: 使用 MAK 产品密钥而不是 KMS

方法 1:配置自承载 KMS 服务器

如果环境中未配置 KMS 主机,并且无法使用 Azure KMS 服务,请安装一个。 然后,使用适当的 KMS 主机密钥来激活它。 在网络上配置计算机以托管 KMS 软件后,发布域名系统(DNS)设置。

有关 KMS 主机配置过程的信息,请参阅使用密钥管理服务激活并安装和配置 VAMT。

配置 KMS 主机后,请重试激活。 如果激活失败并生成与之前相同的错误,请转到 步骤 2。

方法 2:使用 MAK 产品密钥而不是 KMS

如果无法安装 KMS 主机,或者出于其他原因,无法使用 KMS 激活,请使用 MAK 产品密钥。 如果从Microsoft下载了Windows映像,则与图像关联的库存单位(SKU)通常是批量许可媒体,并且为这些图像提供的产品密钥是 MAK 密钥。

若要使用 MAK 产品密钥,请打开管理命令提示符窗口,然后运行以下命令:

   slmgr -/ipk <xxxxx-xxxxx-xxxxx-xxxxx-xxxxx>

注释

在此命令中, <xxxxx-xxxxx-xxxxx-xxxxx-xxxxx> 表示 MAK 产品密钥。

若要重试以激活,请运行以下命令:

cscript c:\windows\system32\slmgr.vbs /ato

如果激活失败并生成与之前相同的错误,请转到 步骤 2。

步骤 2:检查客户端 KMS 密钥

  1. 若要验证客户端是否具有正确的 KMS 客户端安装密钥,请在命令提示符处运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /dlv
    
  2. 如果产品密钥不正确,请运行以下命令以安装正确的 KMS 客户端安装密钥:

    cscript c:\windows\system32\slmgr.vbs /ipk <kms-client-setup-key>
    
  3. 脚本完成后,重启客户端。

  4. 若要重试以激活,请运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /ato
    

如果激活失败并生成与之前相同的错误,请转到步骤 3。

步骤 3:使用特定 KMS 主机激活

若要绕过自动发现过程,可以使用 slmgr 脚本指定 KMS 主机:

  1. 在客户端上打开管理命令提示符窗口。

  2. 若要清除任何现有的 KMS 主机设置,请运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /ckms
    
  3. 若要指定用于激活的 KMS 主机,请运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /skms <KMSHost_fqdn>:<KMSHost_Port>
    

    注释

    • 在此命令中,<KMSHost_fqdn>表示 KMS 主机的完全限定域名 (FQDN),而 <KMSHost_Port>表示 KMS 主机使用的端口。
    • 若要使用 Azure KMS 服务激活 Azure VM,请对 <KMSHost_fqdn> 使用 azkms.core.windows.net,并对 <KMSHost_Port 使用 1688。
  4. 若要重试以激活,请运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /ato
    

如果激活失败并生成与之前相同的错误,请转到步骤 4。

步骤 4:确保激活流量可以在客户端与 KMS 主机之间传递

  1. 在客户端上的命令提示符处运行以下命令:

    psping <KMSHost-ip>:1688
    

    注释

    • 在此命令中, <KMSHost_ip> 表示 KMS 主机的 IP 地址。
    • 如果客户端是Azure VM,并且正在使用 Azure KMS 服务进行激活,请使用 20.118.99.224 或 40.83.235.53 for <KMSHost-ip>。
  2. 如果使用自承载 KMS 主机,请在 KMS 主机上打开管理命令提示符窗口,然后运行以下命令:

    psping <KMSClient-ip>:1688
    

    注释

    在此命令中, <KMSClient_ip> 表示客户端的 IP 地址。

  3. 如果 psping 任一情况下失败,请执行以下步骤:

    1. 对于Azure VM,请检查可能影响 VM 的任何网络安全组(例如网络接口、子网或虚拟网络级别设置的 NSG)。 请确保任何 NSG 都允许在 UDP/TCP 端口 53 上的 VM 和 DNS 服务器之间传输流量。
    2. 请确保任何防火墙(包括客户端上的Windows防火墙)允许客户端与 UDP/TCP 端口 1688 上的 KMS 服务器之间的流量。
    3. 若要验证流量是否已解除阻止,请再次运行 psping 。
  4. 若要重试激活Windows,请在客户端的命令提示符处运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /ato
    

如果激活失败并生成与之前相同的错误,请转到步骤 5。

步骤 5:检查 DNS 配置

  1. 若要检查 DNS 配置,请在客户端的命令提示符处运行以下命令:

    nslookup <KMSHost_fqdn> <intendedDNS_name>
    

    注释

    • 在此命令中,<KMSHost_fqdn>表示 KMS 主机的 FQDN,intendedDNS_name<>表示客户端应用来联系主机的 DNS 服务器的 FQDN 或 IP 地址。
    • 如果客户端是使用 Azure DNS 服务的 Azure VM,请对 <intendedDNS_name> 使用 168-63-129-16。
  2. 如果客户端是Azure VM,并且使用的是 Azure KMS 服务,并且 nslookup 命令失败,请参阅以下文章来排查 DNS 配置问题:

  3. 如果您使用的是自行托管的 KMS 主机,请执行以下操作之一:

    • 如果 DNS 服务器未将 FQDN 解析为 IP 地址,请转到 步骤 6。
    • 如果 DNS 服务器将 FQDN 解析为 IP 地址,请转到 步骤 7。

步骤 6 (仅限自承载 KMS 主机):检查 KMS 主机是否可以连接到 DNS 基础结构

  1. 在 KMS 主机上,打开管理命令提示符窗口,然后运行以下命令:

    ipconfig /all
    

    此命令的输出应类似于以下示例:

    DNS Servers . . . . . . . . . . . : 168.63.129.16
    
    DNS Servers . . . . . . . . . . . : 10.0.3.5
                                        10.0.3.4
    

    注释

    在此示例中,168.63.129.16是AZURE VM 连接到Azure DNS基础结构时使用的 IP 地址。 其他 IP 地址表示自定义 DNS 服务器。

  2. 验证每个 DNS 服务器地址是否正确。

    Important

    对 Azure VM 使用自定义 DNS 服务器时,请不要在 VM 本身上配置 DNS 服务器设置。 在网络接口或虚拟网络级别指定 DNS 服务器。

  3. 如果 DNS 服务器地址列表为空或不包含正确的地址,请参阅以下文章了解详细信息:

  4. 如果更改任何 DNS 设置,请重启 KMS 主机。

  5. KMS 主机重启后,打开管理命令提示符窗口,然后运行以下命令:

    ipconfig /flushdns
    

    此命令刷新并重新生成 DNS 缓存。

  6. 若要重试激活Windows,请在客户端的命令提示符处运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /ato
    

如果激活失败并生成与之前相同的错误,请转到步骤 7。

步骤 7 (仅限自承载 KMS 主机):验证 KMS 主机是否已配置为注册 DNS 记录

若要确定 KMS 主机是否正在向 DNS 注册,请检查 KMS 主机的注册表。 默认情况下,KMS 主计算机每 24 小时一次动态注册 DNS SRV 记录。

Important

本部分、方法或任务包含说明如何修改注册表的步骤。 如果您错误地修改注册表,可能会出现严重问题。 因此,请确保仔细执行这些步骤。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和恢复注册表的更多信息,请参见如何在 Windows 中备份和恢复注册表。

若要检查此设置,请执行以下步骤:

  1. 启动注册表编辑器。 为此,请右键单击 “开始>运行”,键入 regedit,然后按 Enter。

  2. 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 子项,并检查 DisableDnsPublishing 项的值。 此条目具有以下可能的值:

    • 0 或未定义(默认值):KMS 主机每 24 小时注册一次 SRV 记录。
    • 1:KMS 主机不会自动注册 SRV 记录。 如果实现不支持动态更新,请参阅 手动创建 KMS SRV 记录。

    注释

    Windows Server 2008 和 Windows Vista 在子项中使用了 SL,而不是 SoftwareProtectionPlatform。

  3. DisableDnsPublishing如果缺少条目,请创建它(类型为 DWORD)。 如果基础结构使用动态 DNS 注册,请将该值保留为未定义或将其 0设置为 。

  4. 如果希望 KMS 主机支持多个域中的客户端,请参阅 配置 KMS 主机以在多个 DNS 域中发布。

  5. 如果对 KMS 主机配置进行了任何更改,请重启 KMS 主机。

  6. 若要重试激活Windows,请在客户端的命令提示符处运行以下命令:

    cscript c:\windows\system32\slmgr.vbs /ato
    

如果激活仍然失败,请联系Microsoft 支持部门。

References

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于物理计算机、本地虚拟机(VM)和Azure VM。
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。