当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

作者:精品下载站 日期:2024-12-14 23:23:36 浏览:15 分类:玩电脑

如何使用删除脚本完全卸载以前版本的 Office


在计算机上安装新版本的 Microsoft Office 之前,建议删除所有以前版本的 Office(支持在同一台计算机上同时使用不同版本的 Office 产品,但不建议这样做,因为可能会出现问题)。在本文中,我们将介绍几种用于自动删除计算机上安装的任何早期版本的 Microsoft Office 的工具和脚本。您可以使用这些脚本通过 SCCM、Intune、GPO 或其他部署工具以静默方式卸载用户计算机上的 Office。

使用 Microsoft SaRa 工具自动卸载 Office

Microsoft 支持和恢复助手(Microsoft SaRA、https://aka.ms/SaRA-FirstScreen 是一款用于诊断和修复 Microsoft Office 错误(包括 Office 365、Microsoft 365、Outlook、Teams 等)的工具。 Microsoft SaRa 为用户提供了一个简单的 GUI 来修复常见的 Office 错误,允许安装、检查激活状态以及完全删除 MS Office。 MSFT SaRa 工具可用于在单台计算机上卸载以前的 Office 产品。

[玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

除了图形版本的 SaRa 之外,还有控制台 SaRA_CommandLine 工具,可用于从命令提示符卸载 Office 套件产品。因此,您可以在自动化脚本中使用它。支持从 Windows 7(安装了 .Net Framework 4.5)到 Windows 10 和 11 的所有 Windows 版本。

您可以使用 SaRA 控制台实用程序卸载以下 Office 版本:Office 365、Office 2021、2019、2016、2013 和 2010。支持 Office 发行版的 MSI 和即点即用 (C2R) 删除。

我们来看看如何使用SaRACmd卸载任意版本的Office

  1. 下载最新可用版本的SaRACmdhttps://aka.ms/SaRA_CommandLineVersionFiles (17.00.8256.000);

  2. 将存档解压到本地文件夹;

  3. 以管理员身份运行命令提示符并切换到 SaRACmd 目录:

    CD C:\Tools\SaRACmd
  4. 要删除计算机上安装的所有 Office 版本,请运行以下命令:

    SaRAcmd.exe -S OfficeScrubScenario -AcceptEula -Officeversion All
  5. 如果您需要卸载特定版本的 MS Office(例如仅 MS Office 2013),请使用以下命令:

    SaRAcmd.exe -S OfficeScrubScenario -AcceptEula -Officeversion 2013
  6. SaRAcmd 工具完成后返回错误代码。例如,如果删除成功,将出现以下消息:

    00: Successfully completed this scenario. We recommend you restart the computer to finish any remaining cleanup tasks. Scenario finished with exit code: [0].

    [玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

    -LogFolder <Output Path>

例如,SaRAcmd 在我的计算机上返回错误:

06: Office programs are running. Please close all open Office programs and then re-run this scenario. Scenario finished with exit code: [6].

就我而言,设置为自动启动的 MS Teams 客户端阻止了删除(可能与 Windows 11 中内置的 Teams Chat 客户端存在同样的问题)。

因此,在执行卸载命令之前,您必须终止所有正在运行的 Office 进程。您可以使用 PowerShell Stop-Process 命令终止 MS Office 应用程序进程:

Stop-Process -Name winword.exe -Confirm
Stop-Process -Name excel.exe -Confirm

ETC。

需要终止以下 Office 进程:lync、winword、excel、msaccess、mstore、infopath、setlang、msouc、ois、onenote、outlook、powerpnt、mspub、groove、visio、winproj、graph、teams。

或者使用taskkill命令:

taskkill /f /im excel.exe
taskkill /f /im teams.exe
...

请注意,SaRAcmd 在后台运行 OffScrubC2R.vbs 脚本来卸载 Office 即点即用 (C2R) 产品。这可以在任务管理器中通过 cscript.exe 进程看到,该进程执行 OffScrubC2R.vbs 文件

%UserProfile%\AppData\Local\Temp

OffScrub 脚本将在本文的下一部分中进行描述。

[玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

您可以使用 SaRAcmd 工具通过 PowerShell 远程处理(Enter-PSSession 或 Invoke-Command cmdlet)卸载远程计算机上的 Office。

使用 Office 部署工具删除以前的 MSI 版本的 Office

如果您使用 Microsoft Office 部署工具 (ODT) 在计算机上安装 Office 2019、2021 或 Microsoft 365 应用的 C2R 版本,则可以在安装过程中卸载以前的 MSI 版本的 Office。为此,请将RemoveMSI 参数添加到configuration.xml 配置文件中。

之前,我们向您展示了如何在企业环境中使用 ODT 部署 MS Office 2019。

ODT配置文件示例:

<Configuration>
<Add OfficeClientEdition="64" Channel="Current" >
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
</Product>
</Add>
<RemoveMSI />
</Configuration>

RemoveMSI 参数指定删除所有版本的 MS Office(2007、2010、2013、2016)以及使用 Windows Installer (MSI) 安装的 Project、Visio、Project。

OffScrub:完全删除 MS Office 的 VBS 脚本

OffScrub 是一组用于自动删除 Microsoft Office 产品的 VBS 脚本。这些脚本允许您彻底清除系统中以前安装的 Office 组件,无论其当前的可操作性/运行状况如何。这些 VBS 脚本被 Microsoft Premier Support (PFE) 广泛使用。 Offscrub 脚本现已弃用,但您可以在脚本中使用它们来卸载所有旧版本的 Office。

OffScrub 脚本当前可在 Office 开发人员的存档 GitHub 存储库中找到:https://github.com/OfficeDev/Office-IT-Pro-Deployment-Scripts/tree/master/Office-ProPlus-Deployment/Remove-PreviousOfficeInstalls

以下是使用 Offscrub 卸载 Office 的主要优点:

  • 即使源安装文件或 Office 缓存丢失或损坏,也允许卸载旧 Office 版本;

  • 注册表中的用户密钥不受影响;

  • 提供完整的Office删除;

  • 删除过时的设置和所有产品(包括 Project、Visio、Visio Viewer)。

[玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

如何使用 OffScrub 脚本卸载 MS Office?

我为每个版本的 Office 创建了一个单独的目录:

set OFFICEREMOVE=C:\tools\OfficeUninstall\
md "%OFFICEREMOVE%03"
md "%OFFICEREMOVE%07"
md "%OFFICEREMOVE%10"
md "%OFFICEREMOVE%13"
md "%OFFICEREMOVE%16"
md "%OFFICEREMOVE%\O365"

从 GitHub 下载每个 vbs 文件并将其保存到其自己的目录中。您可以使用以下结构:

  • 2003\OffScrub03.vbs

  • 2007\OffScrub07.vbs

  • 2010\OffScrub10.vbs

  • 2013\OffScrub_O15msi.vbs

  • 2016\OffScrub_O16msi.vbs

  • O365\OffScrubc2r.vbs

您可以获取任何 OffScrub VBS 脚本的可用参数列表,如下所示:

OffScrub_O16msi.vbs /?
Microsoft Customer Support Service - Office 2016 MSI Removal Utility
OffScrub_O16msi.vbs helps to remove Office 2016 MSI Server and Client products
Usage:  OffScrub_O16msi.vbs [List of config ProductIDs] [Options]

[玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

为了使 Office 删除脚本在由 32 位配置管理器 (SCCM) 客户端运行时能够在 Windows x64 上正常工作,您应该使用适当的 cscript.exe 版本。因此,要在 64 位计算机上运行 OffScrub VBS,您需要从以下位置运行 cscript.exe

C:\Windows\SysWOW64

您可以使用 NativeCScript.cmd 脚本来实现此目的:

@echo off
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" (
"%SystemRoot%\Sysnative\cscript.exe" %*
) else (
"%SystemRoot%\System32\cscript.exe" %*
)

您可以从我们的网站下载包含所有必需文件的即用型存档:OfficeRemova-OffScrubl.zip (1.4 MB)

以下是完全卸载不同版本的 Microsoft Office 的 CLI 命令:

Product VersionCommandOffice 2003Cscript.exe "%OFFICEREMOVE%03\OffScrub03.vbs” ALL /Quiet /NoCancel /Force /OSE
Command to uninstall Office via SCCM package: "%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2003\OffScrub03.vbs" ALL /Quiet /NoCancel /Force /OSE"Office 2007Cscript.exe "%OFFICEREMOVE%07\OffScrub07.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2007\OffScrub07.vbs" ALL /Quiet /NoCancel /Force /OSE"Office 2010Cscript.exe "%OFFICEREMOVE%10\OffScrub10.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2010\OffScrub10.vbs" ALL /Quiet /NoCancel /Force /OSE"Office 2013Cscript.exe "%OFFICEREMOVE%13\OffScrub_O15msi.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2013\OffScrub_O15msi.vbs" ALL /Quiet /NoCancel /Force /OSE"Office 2016Cscript.exe "%OFFICEREMOVE%16\OffScrub_O16msi.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2016\OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE"Office 365 (C2R)Cscript.exe "%OFFICEREMOVE%\C2R\OffScrubc2r.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "C2R\OffScrubc2r.vbs" ALL /Quiet /NoCancel /OSE"

[玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

Remove-PreviousOfficeInstalls Git 项目包括 Remove-PreviousOfficeInstalls.ps1 PowerShell 脚本,该脚本允许您自动检测计算机上安装的 MS Office 版本并调用 Offscrub*.vbs 删除脚本之一。

使用 PowerShell 卸载 Microsoft.Office.Desktop 应用程序

请注意,Windows 10/Windows 11 通常预装 Microsoft.Office.Desktop.Apps Microsoft Store UWP。您可以使用 PowerShell 删除此版本的 Office:

Get-AppxProvisionedPackage -online | %{if ($_.packagename -match "Microsoft.Office.Desktop") {$_ | Remove-AppxProvisionedPackage -AllUsers}}

[玩转系统] 如何使用删除脚本完全卸载以前版本的 Office

查看有关如何删除 Windows 上内置 UWP/APPX 应用程序的文章。

您还可以使用 Get-Package 和 Uninstall-Package cmdlet 卸载 Windows 中的任何应用程序(win32、uwp、msi 等):

Get-Package -Name "*Office*" | Uninstall-Package

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯