Windows 激活 - 重复的客户端计算机 ID

适用于:✔️ Windows VM

我们通常建议使用 Azure 密钥管理服务s (KMS) 服务器来激活 Azure Windows 虚拟机(VM),即使启用Azure 混合权益也是如此。 但是,在特定情况下,由于网络限制可能会阻止 VM 与 Azure KMS 服务器通信,因此可以使用自承载 KMS 服务器进行激活。 本文讨论在使用自承载 KMS 服务器进行 Windows 激活时发生的重复客户端计算机 ID 的问题,并提供解决方案。

注意

本文仅适用于使用自承载 KMS 服务器进行激活时。 使用 Azure KMS 进行激活时,它不适用。

现象

使用自承载 KMS 服务器进行激活并尝试激活多个 Windows Server VM 时,评估期后激活将失败,自承载 KMS 服务器在 重复客户端计算机 ID 报告中报告以下错误:

重复客户端计算机 ID 报告 ”可帮助识别环境中运行未使用 Sysprep 工具在部署之前未正确通用化映像的计算机。
注意:
- 具有相同 CMID 的多个批量激活客户端将按 KMS 计为单个客户端。 如果这会导致 KMS 客户端计数低于最低阈值,则 KMS 激活将在环境中失败。

原因

  • 在原始源映像的 Sysprep 过程中清除客户端计算机 ID(CMID)。 但是,如果触发了 Sysprep 进程,并将参数 SkipRearm 设置为 1 默认值而不是默认值 0,则不会清除 CMID。 在这种情况下,从此映像创建的所有 VM 将具有相同的 CMID。

  • 从Azure 市场创建 VM 时,已将 Windows Server 的Azure 市场映像通用化,参数SkipRearm设置为 1。 因此,从同一 Windows Server 映像创建的虚拟机将具有相同的 CMID。

确认重复的 CMID

检查 VM 是否具有基于源映像和版本相同的 CMID:

  1. 对有问题的 VM 运行以下命令:

    cscript C:\Windows\System32\slmgr.vbs /dlv
    

    下面是命令输出示例:

    Most recent activation information:
    Key Management Service client information
        Client Machine ID (CMID): <client-machine-ID>
        Registered KMS machine name: <KMS-machine-name>
    
  2. 比较有问题的 VM 上的命令输出,并确认 VM 是否具有相同的 CMID。

解决方案

  • 对于从自定义映像创建的有问题的 VM,请使用参数 SkipRearm0 通用化/sysprep 原始 VM,以确保从映像中清除 CMID。

  • 对于已部署的有问题的 VM,请执行以下步骤:

    1. 从提升的命令提示符运行 slmgr /rearm 命令。

    2. 重启 VM。

    3. 重启后 VM 处于联机状态后,运行以下命令以确认 CMID 已更改:

      cscript C:\Windows\System32\slmgr.vbs /dlv
      
    4. 再次触发激活。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区