KMS 激活中的“0xC004F038:无法激活计算机”错误

本文由高级支持升级工程师 Eric Ashton 撰写。

症状

尝试使用以下任一方法,通过密钥管理服务 (KMS) 主机激活 Microsoft Office 2013 或 Office 2016:

  • 批量激活管理工具 (VAMT)
  • 客户端计算机中的 Office 激活向导
  • OSPP.vbs /act 脚本

但是,你会收到以下错误消息:

0xC004F038:软件许可服务报告无法激活计算机。 密钥管理服务 (KMS) 报告的计数不足。 请与您的系统管理员联系。

原因

出现此问题的原因是 Office KMS 池包含的唯一客户端计算机少于 5 台。

解决方案

若要解决此问题,请将 Office KMS 池中的客户端计算机数增加到 5 台或更多。

注意

若要确定 KMS 主机上的 Office KMS 池中当前有多少台客户端计算机,请在从 c:\windows\system32 提升的命令提示符窗口中运行以下命令,然后按 Enter:

Cscript slmgr.vbs -dlv all >c:\temp\KMSInfo.txt

转到 c:\temp (或在其中放置输出) 的任何自定义位置,然后打开 KMSInfo.txt。 搜索 Office 以查找 Office KMS 主机安装详细信息。 检查“ 当前计数” 值。 如果 Office KMS 计数值小于 5,则 Office 客户端不会激活。

当 Office KMS 池包含五台或更多台客户端计算机时,请尝试使用 Office 激活向导 (OSPP.vbs或 VAMT)激活 Office。

如果在环境中使用系统准备 (Sysprep) ,则可能在创建映像之前未重新配置 Office。 因此,计算机可能具有相同的客户端计算机 ID (CMID) for Office。

如果尝试激活的计算机超过五台,但仍看到此错误消息,检查 KMS 服务器上的 KMS 主机登录事件查看器。 例如,会看到类似于以下内容的条目:

  • 0x0,5,Ignite1.ignite.local,930bd202-a335-4c7e-bd9d-7305361f0d37 ,日期/时间,0,5,0,6f327760-8c5c-417c-9b61-836a98287e0c
  • 0x0,5,Ignite2.ignite.local,2f362dd3-fb39-4d18-94e6-de1d30dd27d5,日期/时间,0,5,0,6f327760-8c5c-417c-9b61-836a98287e0c
  • 0x0,5,Ignite5.ignite.local,930bd202-a335-4c7e-bd9d-7305361f0d37,日期/时间,0,5,0,6f327760-8c5c-417c-9b61-836a98287e0c

在此示例中,请注意,Ignite5 和 ignite1 具有相同的 CMID (930bd202-a335-4c7e-bd9d-7305361f0d37) 。 这表示即使可能已生成基础操作系统映像,也已跳过 Office 重排。

注意

在 Sysprep 准备映像之前,请确保基于 Office 位版本运行以下命令之一,以确保唯一的 Office CMID。

  • 对于 32 位 Office

    C:\Program Files (x86) \Microsoft Office\Office16\ospprearm.exe

  • 对于 64 位 Office

    C:\Program Files\Microsoft Office\Office16\ospprearm.exe

有关如何重新安装 Office 的详细信息,请参阅以下文章:

可以在这些计算机上运行以下启动脚本,以重新配置 Office 并生成唯一的新 Office ID。 在此脚本中,根据 Office 版本将 XX 替换为相应的值:

Office 2013 的 XX = 15

Office 2016 的 XX = 16

@echo off

:OSPP 

reg query HKLM\Software\Microsoft\Office\XX.0\Common\OSPPREARM if %errorlevel%==1 (goto RUN) else (goto END)

:RUN set ProgramFilesPath=%ProgramFiles% 

"%ProgramFilesPath%\Microsoft Office\OfficeXX\OSPPREARM.EXE"

C:\Windows\system32\cscript.exe "%ProgramFilesPath%\Microsoft Office\OfficeXX\ospp.vbs" /act set ProgramFilesPath=%ProgramFiles(x86)%

"%ProgramFilesPath%\Microsoft Office\OfficeXX\OSPPREARM.EXE"

C:\Windows\system32\cscript.exe "%ProgramFilesPath%\Microsoft Office\OfficeXX\ospp.vbs" /act REG ADD "HKLM\Software\Microsoft\Office\XX.0\Common\OSPPREARM"

:END

Exit