Windows KMS服务状态异常如何解决?

更新时间:
复制 MD 格式

本文主要介绍Windows KMS服务状态异常的可能原因及其解决方法。

问题现象

当用户在使用ECS实例时,实例与KMS Server之间的连接出现异常。

PS C:\Users\Administrator> New-Object System.Net.Sockets.TcpClient("kms.cloud.aliyuncs.com", 1688)
New-Object : 使用"2"个参数调用".ctor"时发生异常:"由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 100.100.3.8:
1688"
所在位置 行:1 字符: 1
+ New-Object System.Net.Sockets.TcpClient("kms.cloud.aliyuncs.com",1688)
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
PS C:\Users\Administrator>

可能原因

  • 用户自定义DNS配置时,未保留至少一个阿里云内网DNS,导致无法成功接入阿里云内网。

  • KMS Server地址配置错误,导致实例无法与KMS Server服务建立连接。

  • 本地网络异常,无法连接KMS Server服务。

解决方案

重要
  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

方案一:检查自定义DNS配置

  1. 使用Win+R组合键打开运行对话框。

  2. 运行窗口中输入cmd,并单击确认打开命令行窗口。

  3. 在命令行窗口输入ipconfig/all命令,并按Enter键。

  4. 检查自定义DNS配置是否至少保留一个阿里云内网DNS。

    物理地址. . . . . . . . . . . . : 70-xxx-3-0E
    DHCP 已启用 . . . . . . . . . . . : 是
    自动配置已启用. . . . . . . . . . :
    本地链接 IPv6 地址. . . . . . . . : fe80::xxx:d:95fe%12(首选)
    IPv4 地址 . . . . . . . . . . . . : 10.61.156.217(首选)
    子网掩码  . . . . . . . . . . . . : 255.xxx.0
    获得租约的时间  . . . . . . . . . : 2022726日 9:36:58
    租约过期的时间  . . . . . . . . . : 2022726日 20:26:11
    默认网关. . . . . . . . . . . . . : 10.xxx.254
    DHCP 服务器 . . . . . . . . . . . : 10.xx.xxx.254
    DHCPv6 IAID . . . . . . . . . . . : 208xxx92
    DHCPv6 客户端 DUID  . . . . . . . : 00-xx-xx-xx-xx-xx-xxx-xxx-9-0E
    DNS 服务器  . . . . . . . . . . . : 10.6x.x.2
                                        10.6x.xxx.5
    TCPIP 上的 NetBIOS  . . . . . . . : 已启用

    说明

    若没有保留至少一个阿里云内网DNS,请重新配置DNS。具体操作,请参见如何在Linux实例中自定义配置DNS。

方案二:重新配置KMS Server地址

  1. 使用Win+R组合键打开运行对话框。

  2. 运行窗口中输入cmd,并单击确认打开命令行窗口。

  3. 在命令行窗口依次输入如下命令,并按Enter键。

    slmgr.vbs /ckms
    slmgr.vbs /skms kms.cloud.aliyuncs.com
    slmgr.vbs /ato

方案三:检查本地网络连接是否正常

  1. 使用Win+R组合键打开运行对话框。

  2. 运行窗口中输入cmd,并单击确认打开命令行窗口。

  3. 在命令行窗口输入ping 100.10X.X.XX命令,并按Enter键测试网络连接是否正常。

    C:\Users\Administrator>ping 100.10.xxx.xxx
    正在 Ping 100.10.xxx.xxx 具有 32 字节的数据:
    来自 100.10.xxx.xxx 的回复: 字节=32 时间<1ms TTL=128
    来自 100.10.xxx.xxx 的回复: 字节=32 时间<1ms TTL=128
    来自 100.10.xxx.xxx 的回复: 字节=32 时间<1ms TTL=128
    来自 100.10.xxx.xxx 的回复: 字节=32 时间<1ms TTL=128
    100.10.xxx.xxx 的 Ping 统计信息:
        数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    往返行程的估计时间(以毫秒为单位):
        最短 = 0ms,最长 = 0ms,平均 = 0ms

    说明
    • 若输出如上所示,则网络连接正常。

    • 若丢包率为100%则表示无法连接网络,请检查本地网络配置。