通过


用于管理 Office 批量激活的工具

适用于:批量许可版本的 Office 长期服务频道 (LTSC) 2024、Office LTSC 2021、Office 2019 和 Office 2016 (包括 Project 和 Visio)

重要

Microsoft Office 2016 和 Office 2019 将于 2025 年 10 月 14 日终止支持。 在此日期之后,Microsoft将不再为此版本提供安全修补程序、bug 修复或技术支持。 建议用户迁移到基于订阅的 Microsoft 365 服务,以避免安全风险。

有关迁移到基于订阅的 Microsoft 365 服务的步骤,请参阅计划从旧版 Office 升级到 Microsoft 365 应用版

Office 软件保护平台脚本 (ospp.vbs) 、软件许可证管理器脚本 (slmgr.vbs) 以及批量激活管理工具 (VAMT) 可帮助你配置和测试批量许可版本的 Office,包括 Project 和 Visio。 阅读本文之前,请查看以下文章:

ospp.vbs 脚本

Office Software Protection Platform 脚本 (ospp.vbs) 允许配置 Office 产品的批量许可版本,包括 Project 和 Visio。 可以在 文件夹中找到 ospp.vbs 脚本 Program Files\Microsoft Office\root\Office16 。 如果在 64 位操作系统上安装了 32 位版本的 Office,则转到Program Files (x86)\Microsoft Office\root\Office16文件夹中。 请注意,早期版本可能不会在路径中包含 \root\ 。

注意

ospp.vbs 脚本不适用于 project 和 Visio 的 Microsoft 365 应用版 或订阅版本。 相反,可以使用名为 vnextdiag.ps1 的 PowerShell 脚本。 有关详细信息,请参阅检查Microsoft 365 应用版的许可证和激活状态

运行 ospp.vbs 需要 cscript.exe 脚本引擎。 若要查看帮助文件,请键入以下命令,然后按 Enter:

cscript ospp.vbs /?

常规语法如下所示:

cscript ospp.vbs [Option:Value] [ComputerName] [User] [Password]

选项
指定选项和值以激活产品、安装或卸载产品密钥、安装和显示许可证信息、设置密钥管理服务 (KMS) 主机名和端口,以及删除 KMS 主机名和端口。 选项和值显示在本节的表中。

ComputerName
远程计算机的名称。 如果未提供计算机名称,该命令将使用本地计算机。

用户
在远程计算机上具有所需权限的帐户。

Password
帐户的密码。 如果未提供用户帐户和密码,该命令将使用当前凭据。

重要

在运行 ospp.vbs 之前,请确保:

  • 如果在远程计算机上运行脚本,请确认 Windows 防火墙是否允许 Windows Management Instrumentation (WMI) 该计算机上的流量。
  • 使用属于运行脚本的计算机上的 Administrators 组的用户帐户。
  • 从提升的命令提示符运行 ospp.vbs 脚本。

ospp.vbs 的全局选项

全局选项 说明
/做 激活已安装的 Office 产品密钥。
/inpkey:value 使用用户提供的产品密钥安装产品密钥(取代现有密钥)。 需要一个值。
/unpkey:value 使用产品密钥的最后五位数字卸载已安装的产品密钥,以卸载 (,如 /dstatus 选项) 所示。 需要一个值。
/inslic:value 使用用户提供的 .xrm-ms 许可证的路径安装许可证。 需要一个值。
/dstatus 显示已安装产品密钥的许可证信息。
/dstatusall 显示所有已安装许可证的许可证信息。
/dhistoryacterr 显示 MAK/零售激活的失败历史记录。
/dinstid 显示脱机激活的安装 ID。
/actcid:value 使用用户提供的确认 ID 激活产品。 需要一个值。
/rearm 重置所有已安装 Office 产品密钥的许可状态。
/rearm:value 使用用户提供的 SKU ID 值重置 Office 许可证的许可状态。 需要一个值。

如果重载用尽,并通过 KMS 或基于 Active Directory 的激活 Office 以获取另一个重新配置,请将此选项与 /dstatus 选项指定的 SKU ID 一起使用。
/ddescr:value 显示用户提供的错误代码的说明。 需要一个值。

下表介绍了用于配置 KMS 客户端的 ospp.vbs 选项。

ospp.vbs 的 KMS 客户端选项

KMS 客户端选项 说明
/dhistorykms 显示 KMS 客户端激活历史记录。
/dcmid 显示 KMS 客户端计算机 ID (CMID) 。
/sethst:value 使用用户提供的主机名设置 KMS 主机名。 需要一个值。

此命令设置 HKLM\Software\Microsoft\OfficeSoftwareProtectionPlatform\KeyManagementServiceName (REG_SZ) 。
/setprt:value 使用用户提供的端口号设置 KMS 端口。 默认端口号为 1688。 需要一个值。

此命令设置 HKLM\Software\Microsoft\OfficeSoftwareProtectionPlatform\KeyManagementServicePort (REG_SZ) 。
/remhst 删除 KMS 主机名,并将端口重置为默认 (1688) 。
/cachst:value 允许或拒绝 KMS 主机缓存。 值 (TRUE 或 FALSE) 是必需的。
/actype:value (Windows 8.1 及更高版本仅) 设置批量激活类型。 需要一个值。

值:1(表示基于 Active Directory),2(表示 KMS),0(表示二者)。
/skms-domain:value (Windows 8.1 及更高版本仅) 设置所有 KMS 服务 (SRV) 记录显示的特定 DNS 域。 如果使用 /sethst 选项设置单个 KMS 主机名,此设置不会影响自动发现。 该值必须是 FQDN) (完全限定的域名。
/ckms-domain (Windows 8.1 及更高版本仅) 清除显示所有 KMS SRV 记录的特定 DNS 域。 如果未使用 /sethst 设置单个 KMS 主机名,则自动发现会查找 KMS 主机。

使用 ospp.vbs 的方案

这些方案假定你从提升的命令提示符运行 ospp.vbs。

注意

所做的任何更改仅影响 Office 客户端产品。 使用 slmgr.vbs 脚本单独配置 Windows 客户端。

在远程计算机上将产品密钥更改为 MAK 密钥

  1. 如果远程计算机名为 contoso1,请运行以下命令输入产品密钥。 此命令假定你在远程计算机上具有管理员凭据。 如果凭据与登录名和密码不同,请在命令行中键入登录名和密码,然后按 Enter:

    cscript ospp.vbs /inpkey:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx contoso1
    
  2. 若要激活远程计算机,请键入以下命令,然后按 Enter:

    cscript ospp.vbs /act contoso1
    

诊断 KMS 激活错误

  1. 如果计算机安装了 KMS 客户端密钥,请键入以下命令并按 Enter 检查许可状态:

    cscript ospp.vbs /dstatusall
    
  2. 若要查看 KMS 激活历史记录,请键入以下命令,然后按 Enter:

    cscript ospp.vbs /dhistorykms
    
  3. 若要触发激活,请键入以下命令,然后按 Enter:

    cscript ospp.vbs /act
    
  4. 检查错误消息中是否有错误代码 0xC004F042。 如果在通知对话框中看到错误代码,请使用该代码检查错误消息。 为此,请键入以下命令,然后按 Enter:

    cscript ospp.vbs /ddescr:0xC004F042
    

打开或关闭 KMS 客户端上的 KMS 主机缓存

  1. 在 KMS 客户端计算机上,若要打开缓存,请键入以下命令,然后按 ENTER:

    cscript ospp.vbs /cachst:TRUE
    
  2. 在 KMS 客户端计算机上,若要关闭缓存,请键入以下命令,然后按 ENTER:

    cscript ospp.vbs /cachst:FALSE
    

测试 KMS 主机名,然后设置自动发现

  1. 如果测试名为 kmstest.contoso.com 的 KMS 主机并希望在 KMS 客户端中指定它,请键入以下命令并按 ENTER:

    cscript ospp.vbs /sethst:kmstest.contoso.com
    

注意

如果更改 KMS 主计算机上的默认端口,请使用 /setprt 选项运行 ospp.vbs。 例如:cscript ospp.vbs /setprt:1750

  1. 若要触发激活,请键入以下命令,然后按 Enter:

    cscript ospp.vbs /act
    
  2. 若要检查 KMS 激活历史记录并确认已成功联系主机,请键入以下命令,然后按 Enter:

    cscript ospp.vbs /dhistorykms
    
  3. 若要使用域名系统 (DNS) 启用生产 KMS 主机的自动发现,请通过键入以下命令并按 ENTER 删除指定的 KMS 主机名:

    cscript ospp.vbs /remhst
    

slmgr.vbs 脚本

位于 文件夹中的软件许可证管理器 (slmgr.vbs) 脚本 Windows\system32 配置和检索 Office KMS 主机和 Windows 主机的批量激活详细信息。 有关详细信息,请参阅针对 Windows 的配置 KMS 主机

您可以在目标计算机上以本地方式运行脚本,或从另一台计算机中以远程方式运行。 必须使用管理员帐户来运行脚本。 如果标准用户运行 slmgr.vbs,则某些许可证数据可能缺失或不正确,并且许多作将被禁止。

slmgr.vbs 脚本使用基于 Windows 的脚本主机 () wscript.exe 或基于命令的脚本主机 (cscript.exe) 。 管理员可以指定脚本引擎。 如果未指定脚本引擎,slmgr.vbs 使用默认值 wscript.exe。 使用 cscript.exe 脚本引擎。

您必须重新启动软件授权服务才能使任何更改生效。 若要重启软件许可服务,请使用 Microsoft 管理控制台 (MMC) 服务管理单元或键入以下命令:

net stop sppsvc && net start sppsvc

使用至少一个参数运行 slmgr.vbs。 运行不带任何参数的脚本会显示帮助信息。 下表列出了 slmgr.vbs 命令行选项,并介绍了每个选项。 大多数参数配置 KMS 主计算机。 但是,参数 /sai/sri 在与 KMS 主计算机联系后传递给 KMS 客户端。 假设使用脚本引擎) ,slmgr.vbs cscript.exe 的一般语法如下 (:

cscript slmgr.vbs [ComputerName] [User] [Password] [Option]

ComputerName
远程计算机的名称。 如果未提供计算机名称,该命令将使用本地计算机。

用户
在远程计算机上具有所需权限的帐户。

Password
帐户的密码。 如果未提供用户帐户和密码,该命令将使用当前凭据。

选项
选项显示在下表中。

Slmgr.vbs 命令选项

选项 说明
/ipk ProductKey 安装 Windows (默认) 或产品密钥标识的其他应用程序的产品密钥。
/ato ActivationID 激活 Windows 的 KMS 主机 (默认) 或由提供的激活 ID 标识的应用程序。
/dti ActivationID 显示用于 Windows 的 KMS 主计算机的电话激活的安装 ID, (默认) 或由提供的激活 ID 标识的应用程序。 在电话中输入安装 ID 以接收确认 ID,该 ID 使用 /atp 参数激活 KMS 主机。
/atp ConfirmationIDActivationID 收到确认 ID 后,激活 WINDOWS 的 KMS 主机 (默认) 或由提供的激活 ID 标识的应用程序。
/dlv ActivationID 显示 Windows (默认) 或由提供的激活 ID 标识的应用程序的详细许可证信息。

例如,在 文件夹中的提升的命令提示符处 Windows\system32 运行以下命令,以获取 Office KMS 主机的状态:

cscript slmgr.vbs /dlv 70512334-47B4-44DB-A233-BE5EA33B914C
/dli ActivationID 显示 Windows (默认) 或由提供的激活 ID 标识的应用程序的许可证信息。
/upk ActivationID 卸载 Windows (默认) 或由提供的激活 ID 标识的应用程序的产品密钥。

谨慎: 如果打算卸载 Office 的产品密钥并省略激活 ID,该命令将卸载所有已安装的产品密钥,包括 Windows 产品密钥。
/xpr ActivationID 显示当前许可证状态的到期日期。
/sprt PortNumber 在 KMS 主计算机上设置 TCP 通信端口。 将 PortNumber 替换为要使用的 TCP 端口号。 默认值为 1688。
/cdns 禁止通过 KMS 主计算机自动发布 DNS。
/sdns 启用通过 KMS 主计算机自动发布 DNS。
/cpri 降低 KMS 主计算机进程的优先级。
/sai ActivationInterval 更改 KMS 客户端在找不到 KMS 主计算机时尝试激活自身的频率。 将 ActivationInterval 替换为以分钟为单位的值。 默认值为 120 分钟。
/sri RenewalInterval 通过联系 KMS 主计算机更改 KMS 客户端尝试续订其激活的频率。 将 RenewalInterval 替换为以分钟为单位的值。 默认值为 10080 分钟 (7 天) 。 此设置将替代本地 KMS 客户端设置。

注意

  • Office LTSC 2024 的激活 ID:F3D89BBF-C0EC-47CE-A8FA-E5A5F97E447F
  • Office LTSC 2021 的激活 ID:47F3B983-7C53-4D45-ABC6-BCD91E2DD90A
  • Office 2019 的激活 ID:70512334-47B4-44DB-A233-BE5EA33B914C
  • Office 2016 的激活 ID:98EBFE73-2084-4C97-932C-C0CD1643BEA7

Slmgr.vbs 命令选项 (基于 Active Directory 的激活)

下表显示了使用基于 Active Directory 的激活Active Directory 域服务 (AD DS) 林的命令选项。

选项 说明
/ad-activation-online ProductKey 使用用户提供的产品密钥激活 AD DS 林。
/ad-activation-apply-get-iid ProductKey 显示 AD DS 林的安装 ID。
/ad-activation-apply-cid ProductKeyConfirmationID 使用用户提供的产品密钥和确认 ID 激活 AD DS 林。

批量激活管理工具 (VAMT)

批量激活管理工具 (VAMT) 提供了用于管理批量激活的图形界面。 有关详细信息,请参阅 批量激活管理工具 (VAMT) 技术参考

注意

  • Office LTSC 2024、Office LTSC 2021 和 Office 2019 至少需要 VAMT 3.1。

使用 VAMT 管理 Office LTSC 2024 的批量激活

若要使用 VAMT 管理 Office LTSC 2024 的批量激活,请执行以下步骤:

  1. 标识 VAMT 的安装文件夹,例如 C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\VAMT3
  2. Office VAMT 下载链接下载Office LTSC 2024 支持文件。
  3. pkeyconfig-office24-client.xrm-mspkeyconfig-office24-kmshost.xrm-msOffice24.cilx 文件复制到相应的 VAMT 目录:
    • 将 .xrm-ms 文件复制到 文件夹中 VAMT3\pkconfig
    • 将 .cilx 文件复制到可以轻松访问的位置进行导入。

将 Office LTSC 2024 数据导入 VAMT:

  1. 打开 VAMT。
  2. 在“作”窗格中,选择“ 导入列表 ”以打开“ 导入列表 ”对话框。
  3. 在“ 导入列表 ”对话框中,导航到文件的位置 Office24.cilx ,选择文件,然后选择 “打开”。
  4. 在“批量激活管理工具”对话框中,选择“确定”开始导入。 VAMT 在导入文件时显示进度消息。 当出现确认消息,指示导入成功完成时,请选择 “确定 ”。