重置 Microsoft 365 企业应用版的激活状态

本文由高级支持呈报工程师 Eric Splichal、Microsoft 365 Apps 管理员 Matt Philipenko 和客户工程师 Tim Johnson 撰写和维护。

你可能需要为组织执行以下任务:

  • 租户到租户迁移
  • 将设备重新用于不同的用户
  • 更改设备上 Microsoft 365 的许可证模式

要完成这些任务,需要清除之前激活的 Microsoft 365 企业应用版,以删除其相关许可证和缓存的 Office 帐户信息。 此删除会将应用程序重置为干净状态。 然后,可以使用不同的 Office 帐户激活它们或更改为其他许可证模式。 要重置激活状态,请关闭所有 Office 应用程序并使用以下方法。

注意

方法:使用 Microsoft 支持和恢复助手

助手完全自动完成重置 Office 激活所需的所有步骤,并提供两个版本。 使用适合你要求的版本。

  • 企业(命令行)版助手
    企业版助手是一个可以编写脚本的命令行版本,建议使用该版本在多个设备和无法立即访问的设备上重置 Office 激活。
  • UI 版本
    如果需要在单个设备上或在少数个人设备上重置 Office 激活,建议使用 UI 版本的助手

方法:使用脚本自动执行清理过程

运行以下脚本来自动执行流程的每个部分。 我们建议运行下面列出的 OLicenseCleanup.vbssignoutofwamaccounts.ps1 脚本,而仅当设备是工作区加入时才需要 WPJCleanUp.cmd。 有关每个脚本自动执行的特定步骤的详细信息,请选择相关的“详细信息”链接。 使用“选择是否使用自动化脚本”链接导航回此方法。

  1. 要删除以前的许可证和缓存的帐户信息:下载 OLicenseCleanup.zip 文件,解压缩 OLicenseCleanup.vbs 脚本,然后使用提升的权限运行它。 详细信息
  2. 要清除设备上与 Office 关联的 WAM 帐户:下载 signoutofwamaccounts.zip 文件,解压缩并以提升的权限运行 signoutofwamaccounts.ps1 脚本。 如果将 signoutofwamaccounts.ps1 保存在与 OLicenseCleanup.vbs 相同的位置,那么它将在运行 OLicenseCleanup.vbs 时自动执行。 详细信息
  3. 要删除工作区加入的帐户,请下载 WPJCleanUp.zip,解压缩“WPJCleanUp”文件夹,然后运行“WPJCleanUp.cmd”详细信息

方法:手动清除之前的激活信息

如果更喜欢手动执行清理过程的步骤,请使用此方法中的信息。 此过程包括以下部分。


A 部分:删除 Office 许可证和缓存帐户

本节分为三个部分。 某些部分需要编辑注册表项。

重要

请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原


第 1 部分:删除以前的 Office 激活

检查并删除设备上的现有许可证。 确保检查所有注明的位置以获取潜在的许可证类型,包括 vNext、共享计算机激活和旧版许可证。

  1. 如果在以下位置找到所有许可证令牌文件和文件夹,请删除:

    • 对于 vNext 许可证类型:
      • %localappdata%\Microsoft\Office\Licenses(Microsoft 365 应用企业版 1909 或更高版本)
    • 对于共享计算机激活许可证类型:
      • %localappdata%\Microsoft\Office\16.0\Licensing
  2. 使用 ospp.vbs 脚本检查并删除旧版许可。

    • 重要提示请确保:

      • 如果要在远程计算机上运行脚本,Windows 防火墙允许远程计算机上的 Windows Management Instrumentation (WMI) 通信。
      • 你使用的用户帐户是运行脚本的计算机上管理员组的成员。
    • 在运行 ospp.vbs 脚本之前,必须设置正确的目录。 根据你的 Office 安装,在提升的命令提示符下运行以下命令:

      • 对于 64 位操作系统上的 64 位 Office 安装:
        • cd "C:\Program Files\Microsoft Office\Office16"
      • 对于 64 位操作系统上的 32 位 Office 安装:
        • cd "C:\Program Files (x86)\Microsoft Office\Office16"
  3. 运行以下命令以获取当前使用的许可证列表:

    • cscript ospp.vbs /dstatus

      输出采用以下格式:输出包括产品 ID、SKU ID、许可证名称、许可证描述、许可证状态、错误代码和已安装产品密钥的最后 5 个字符

      注意 输出可能包括多个应用程序的许可证。 如果显示“未检测到已安装的产品密钥”,则跳过步骤 4 和 5 并转到下面的步骤 6,“删除以下注册表项”。 

      如果为要删除其许可的应用程序返回部分产品密钥,请注意已安装产品密钥的最后 5 个字符显示的值,以便在下面的步骤 4 中使用。 

  4. 运行以下命令以使用关联的部分产品密钥删除应用程序的许可证:

    • cscript ospp.vbs /unpkey:<last 5 characters of product key>

      • 例如:cscript ospp.vbs /unpkey:2WC00
    • 删除许可证后,应该会看到消息“产品密钥卸载成功”。 输出显示“正在卸载 Office 16 的产品密钥”,并显示消息“产品密钥卸载成功”

  5. 根据需要重复 cscript ospp.vbs /unpkey 命令以删除步骤 3 的输出中列出的应用程序的许可证。

  6. 删除以下注册表项:

    • HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Licensing

第 2 部分:删除 HKCU 注册表中缓存的 Office 帐户标识

删除以下注册表项:

  • HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Identity

如果启用了共享计算机激活,请从HKEY_USERS\<The user SID>\Software\Microsoft\Office\16.0\Common注册表项中删除标识注册表项位置。 要获取当前登录用户的 SID,请在非提升的命令提示符下运行命令 whoami /user


              
                                            第 3 部分:删除存储在 Windows 凭据管理器中的 Office 凭据
  1. 打开“控制面板”>“凭据管理器”

  2. 选择“Windows 凭据”

  3. 选择每个凭据旁边的下拉箭头删除为 Office 列出的所有凭据,然后选择“删除”

    凭据管理器示例显示 Office 的两个条目

  4. 检查并删除以下注册表项下存在的任何值:HKEY_CURRENT_USER\Software\Microsoft\Protected Storage System

选择是否使用自动脚本


B 部分:清除托管设备的缓存 Office 凭据

对于托管设备,需要从其他位置删除缓存的 Office 凭据。 如果设备是 Microsoft Entra 联接 (AADJ)、Microsoft Entra 混合联接 (HAADJ) 或工作区联接 (WPJ),则被视为托管设备。 这些配置使用 Web 帐户管理 (WAM),将凭据存储在不同的位置。

对于 AADJ 和 HAADJ 设备,无法手动运行任何步骤来清除设备上与 Office 关联的 WAM 帐户。

下载 signoutofwamaccounts.zip 文件,解压缩并以管理员身份运行 signoutofwamaccounts.ps1 脚本。

signoutofwamaccounts.ps1 脚本将删除与 Office 关联的令牌和帐户,并且可以安全运行。 在 AADJ 和 HAADJ 设备上,它不会影响应用程序的单点登录 (SSO) 状态和设备状态。

该脚本只能在 Windows 10 版本 1803 及更高版本上运行。 如果操作系统不兼容,会出现通知“不支持的 Windows 10 版本!”。

要检查设备是否被托管,请在提升的命令提示符下运行 dsregcmd /status 命令。

在显示的输出中,检查“设备状态”部分中 AzureAdJoinedEnterpriseJoinedDomainJoined 参数的值。 然后使用下表来确定设备是 AADJ 还是 HAADJ:

AzureAdJoined EnterpriseJoined DomainJoined 设备状态
Microsoft Entra 联接 (AADJ)
已加入域 (DJ)
已加入混合 Azure AD (HAADJ)

有关详细信息,请参阅使用 dsregcmd 命令对设备进行故障排除

选择是否使用自动脚本


C 部分:清除工作区加入帐户

在设备上清除 WPJ 帐户时,当前 Windows 会话的单点登录 (SSO) 行为也将被删除。 当前 Windows 会话中的所有应用程序都将失去 SSO 状态,设备将从管理工具中取消注册,并从云中注销。 下次尝试打开应用程序时,系统会要求你登录。

如果不确定,请检查设备是否已加入工作区。 如上面 B 部分所述,在提升的命令提示符下运行 dsregcmd /status 命令。

工作区联接 (WPJ)(Microsoft Entra 注册)设备的状态显示在输出的“用户状态”部分。 如果 WorkplaceJoined 参数显示的值为“是”,则表明设备已加入工作区。

要清除 WPJ 帐户:

  1. 在设备上选择“开始”按钮,然后选择“设置”
  2. 选择“帐户”>“访问工作或学校帐户”
  3. 选择想要删除的工作或学校帐户,然后选择“断开连接”

选择是否使用自动脚本

References