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

适用于:批量许可版本的 Office LTSC 2021、Office 2019 和 Office 2016 (包括 Project 和 Visio)

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

ospp.vbs 脚本

使用 Office 软件保护平台脚本 (ospp.vbs) ,可以配置 Office 产品的批量许可版本,包括 Project 和 Visio。 ospp.vbs脚本位于 Program Files\Microsoft Office\Office16 文件夹中。 如果在 64 位操作系统上安装 32 位版本的 Office,请转到 Program Files (x86) \Microsoft Office\Office16 文件夹。

注意

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 远程计算机的名称。 如果未提供计算机名称,则使用本地计算机。

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

密码 帐户的密码。 如果未提供用户帐户和密码,则使用当前凭据。

重要

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

  • 如果要在远程计算机上运行脚本,Windows 防火墙允许远程计算机上的 Windows Management Instrumentation (WMI) 通信。
  • 你将使用的用户帐户是运行脚本的计算机上的管理员组成员。
  • 在提升的命令提示符中运行 ospp.vbs 脚本。

ospp.vbs 的全局选项

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

如果使用 /dstatus 选项指定的 SKU ID 值(如果已用完重排,并且已通过 KMS 或基于 Active Directory 的激活激活激活 Office)来获得额外的重新设置,请使用此选项。
/ddescr:value 显示用户提供的错误代码的说明。 Value 参数必需。

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

ospp.vbs 的 KMS 客户端选项

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

这将设置 HKLM\Software\Microsoft\OfficeSoftwareProtectionPlatform\KeyManagementServiceName (REG_SZ) 。
/setprt:value 使用用户提供的端口号设置 KMS 端口。 默认端口号为 1688。 Value 参数为必需。

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

值:1(表示基于 Active Directory),2(表示 KMS),0(表示二者)。
/skms-domain:value (Windows 8.1及更高版本仅) 设置可在其中找到所有 KMS SRV 记录的特定 DNS 域。 如果特定的单个 KMS 主机名由 /sethst 选项设置,则此设置无效。 Value 参数是完全限定的域名 (FQDN) 并且必需。
/ckms-domain (Windows 8.1及更高版本仅) 清除可在其中找到所有 KMS SRV 记录的特定 DNS 域。 如果特定 KMS 主机由 /sethst 选项设置,则使用该主机。 否则,将使用 KMS 主机的自动发现。

使用 ospp.vbs 的方案

以下方案假定你在提升的命令提示符下运行ospp.vbs。

注意

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

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

  1. 如果远程计算机名为 contoso1,请运行以下命令输入产品密钥。 此操作假定您在远程计算机上拥有管理员凭据。 如果您在远程计算机上的凭据与您的登录名和密码不同,则必须在命令行中键入您的登录名和密码,然后按 Enter:
cscript ospp.vbs /inpkey:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx contoso1
  1. 若要激活远程计算机,请键入以下命令,然后按 Enter:
cscript ospp.vbs /act contoso1

诊断 KMS 激活错误

  1. 如果计算机安装了 KMS 客户端密钥,请检查授权状态。 为此,请键入以下命令,然后按 Enter:
cscript ospp.vbs /dstatusall
  1. 若要检查 KMS 激活历史记录,请键入以下命令,然后按 Enter:
cscript ospp.vbs /dhistorykms
  1. 若要触发激活,请键入以下命令,然后按 Enter:
cscript ospp.vbs /act
  1. 检查错误消息中是否有错误代码 0xC004F042。 如果在通知对话框中看到向用户显示的错误代码,您也可以使用该代码来检查错误消息。 为此,请键入以下命令,然后按 Enter:
cscript ospp.vbs /ddescr:0xC004F042

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

  1. 在 KMS 客户端计算机上,若要打开缓存,请键入以下命令,然后按 Enter:
cscript ospp.vbs /cachst:TRUE
  1. 在 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
  1. 若要检查 KMS 激活历史记录以查看是否成功连接主机,请键入以下命令,然后按 Enter:
cscript ospp.vbs /dhistorykms
  1. 现在,您希望此 KMS 客户端使用域名系统 (DNS) 自动发现生产 KMS 主机。 若要移除 KMS 主机名,请键入以下命令,然后按 Enter:
cscript ospp.vbs /remhst

slmgr.vbs 脚本

位于 Windows\system32 文件夹中的软件许可证管理器 (slmgr.vbs) 脚本用于配置和检索 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 主计算机联系后才传递给 KMS 客户端。 假设使用 cscript.exe 作为脚本引擎) ,slmgr.vbs的一般语法如下 (:

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

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

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

密码 帐户的密码。 如果未提供用户帐户和密码,则使用当前凭据。

选项 下表显示了选项。

Slmgr.vbs命令选项

选项 说明
/ ipk ProductKey 为 Windows(默认设置)或由产品密钥标识的其他应用程序安装产品密钥。
/ ato ActivationID 激活 Windows(默认设置)或由激活 ID(如果提供)标识的应用程序的 KMS 主机。
/ dti ActivationID 显示用于 Windows(默认设置)或由激活 ID(如果提供)标识的应用程序的 KMS 主计算机的电话激活的安装 ID。 拨打电话时应输入安装 ID 才能接收确认 ID,确认 ID 用于通过使用 /atp 参数激活 KMS 主计算机。
/ atp ConfirmationIDActivationID 收到确认 ID 后,激活 Windows(默认设置)或由激活 ID(如果提供)标识的应用程序的 KMS 主机。
/ 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 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 的激活激活 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 2021 和 Office 2019 至少需要 VAMT 3.1。