Скрипты для полного удаления любых версий MS Office

Перед установкой новой версии Microsoft Office на компьютере, рекомендуется удалить все предыдущие версии Office (одновременное использование разных версий Office на одном компьютере поддерживается, но не рекомендуется из-за потенциальных проблем). В этой статье мы рассмотрим несколько скриптов и утилит для автоматического удаления любых ранее установленных на компьютере версий Microsoft Office. Вы можете использовать данные скрипты в сценариях автоматической установки или удаления Office на компьютерах пользователей через SCCM, Intune, GPO, или другие средства развертывания.

Автоматическое удаление Office с помощью утилиты Microsoft SaRa

Microsoft Support and Recovery Assistant ( Microsoft SaRA , https://aka.ms/SaRA-FirstScreen ) это утилита для диагностики и исправления ошибок Microsoft Office (включая Office 365, Microsoft 365, Outlook, Teams и т.д.). Microsoft SaRa предоставляет пользователям простой графический мастер для исправления типовых ошибок программ из пакета Office, установки, проверки активации и полного удаления MS Office. Утилиты MSFT SaRa вполне можно использовать для удаления Office на одном компьютере.

утилита Microsoft-SaRA

Кроме графической версии SaRa, доступна еще и консольная утилита SaRA _CommandLine , которую можно использовать для удаления пакета Office из командной строки. Соотвественно, вы можете исопльзовать ее в ваших сценариях автоматизации и скриптах. Поддерживаются все версии Windows, начиная с Windows 7 (с установленными .Net Framework 4.5) и заканчивая Windows 10 и 11.

Вы можете использовать консольную утилиту SaRA для удаления следующих версий Office: Office 365, Office 2021, 2019, 2016, 2013, 2010. Поддерживается удаление как MSI, так Click-to-Run (С2R) дистрибутивов Office.

Рассмотрим, как использовать SaRACmd для удаления любой версии Office:

  1. Скачайте последнею доступную версию SaRACmd https://aka.ms/SaRA_CommandLineVersionFiles (17.00.8256.000);
  2. Распакуйте архив в папку на диске;
  3. Запустите командную строку с правами администратора и перейдите в каталог с SaRACmd: CD C:ToolsSaRACmd
  4. Для удаления всех версий Office, которые установлены на компьютере, выполните команду: SaRAcmd.exe -S OfficeScrubScenario –AcceptEula -Officeversion All
  5. Если нужно удалить конкретную версию MS Office (например, только MS Office 2016), используйте такую команду: SaRAcmd.exe -S OfficeScrubScenario -AcceptEula -Officeversion 2016
  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].

    SaRACmd консольная утилита для корректного удаления любой версии microsoft office

    Можно указать путь к каталогу, в который SaRAcmd должна записывать логи: -LogFolder <Output Path> .

Например, на моем компьютере утилита вернула ошибку:

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 настроенный на автозапуск (возможно такая же проблема с MS Teams Chat, встроенный по умолчанию в Windows 11 ).

Поэтому перед запуском команды удаления нужно завершить все запущенные процессы Office. Можно завершить процессы с помощью PowerShell командлета Stop-Process :

Stop-Process -Name winword.exe -Confirm
Stop-Process -Name excel.exe -Confirm
И т.д.

Проверяются следующие процессы: 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 выполняется скрипт OffScrubC 2R .vbs для удаления продуктов Office Click To Run (C2R). Это видно в диспетчере задач по процессу cscript.exe, который выполняет файл OffScrubC2R.vbs из %UserProfile%AppDataLocalTemp .

процесс cscript удаления компонентов ms office на компьютере в диспетчере задач

Скрипты OffScrub описаны ниже в следующем разделе статьи.

скрипт для удаления office

Вы можете использовать утилиту SaRAcmd для удаления Office на удаленных компьютерах через PowerShell Remoting ( Enter-PSSession или Invoke-Command )

Удаление MSI версий Office с помощью Office Deployment Tool

Если вы используете Microsoft Office Deployment Tool (ODT) для установки C2R версий Office 2019, 2021 или Microsoft 365 Apps на компьютерах компании, вы можете прямо во время установки удалить предыдущие MSI версии Office. Для этого в конфигурационный файл configuration.xml нужно добавить параметр RemoveMSI .

Ранее мы показывали, как развертывать MS Office 2019 с помощью ODT .

Пример конфигурационного файла:

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

Параметр RemoveMSI удалит все версии MS Office (2007, 2010, 2013, 2016), а также Office, Visio, Project, которые установлены с помощью Windows Installer (MSI).

OffScrub: VBS скрипты для удаления MS Offce OffScrub

Скрипты OffScrub представляют собой VBS сценарии для автоматизации удаления продуктов Microsoft Office. Данные скрипты позволяют полностью очистить систему от следов ранее установленного Office, в независимости от его текущий работоспособности. Данные скрипты широко используются сотрудниками Premier поддержки Microsoft (PFE). На текущий момент скрипты Offscrub не развиваются и являются Depreciated, но вы вполне можете использовать их OffScrub своих сценариях.

На данный момент скрипты OffScrub доступны в архивном GitHub репозитарии разработчиков Office: https://github.com/OfficeDev/Office-IT-Pro-Deployment-Scripts/tree/master/Office-ProPlus-Deployment/Remove-PreviousOfficeInstalls

Основные преимущества в использования OffScrub для удаления Office:

  • Возможность удаления старой версии даже при отсутствии или повреждения исходных файлов установки или кэша Office;
  • Куст пользователя в реестре не затрагивается;
  • Обеспечивается полное удаление;
  • Удаление устаревших настроек и всех продуктов (в т.ч. Project, Visio, Visio Viewer).

offscrub vbs скрипты для автоматического удаления Microsft Office

Как использовать скрипты OffScrub для удаления MS Office.

Я создал отдельный каталог для каждой версии Office:

set OFFICEREMOVE=C:toolsOfficeUninstall
md "%OFFICEREMOVE%2003"
md "%OFFICEREMOVE%2007"
md "%OFFICEREMOVE%2010"
md "%OFFICEREMOVE%2013"
md "%OFFICEREMOVE%2016"
md "%OFFICEREMOVE%O365"

Скачайте и сохраните каждый vbs файл из GitHub в собственный каталог. Должна получиться такая структура каталогов:

  • 2003OffScrub03.vbs
  • 2007OffScrub07.vbs
  • 2010OffScrub10.vbs
  • 2013OffScrub_O15msi.vbs
  • 2016OffScrub_O16msi.vbs
  • O365OffScrubc2r.vbs

Список доступных аргументов любого vbs скрипта OffScrub можно получить так:

OffScrub_O16msi.vbs /?

Microsoft Customer Support Service – Office 2016 MSI Removal Utility_x000D_OffScrub_O16msi.vbs helps to remove Office 2016 MSI Server and Client products_x000D_Usage: OffScrub_O16msi.vbs [List of config ProductIDs] [Options]

примеры использования offscrub vbs

Чтобы скрипт удаления Office работал корректно на 64 битных версиях Windows, при запуске их 32-битным клиентом Configuration Manager (SCCM), нужно запускать соответствующую версию cscript.exe. Поэтому на 64 битной системе для запуска сценариев нужно запускать процессор cscript.exe из каталога C:WindowsSysWOW64 .

Данного функционала можно добиться скриптом NativeCScript.cmd :

@echo off
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" (
"%SystemRoot%Sysnativecscript.exe" %*
) else (
"%SystemRoot%System32cscript.exe" %*
)

Готовый архив со всеми необходимыми файлами можно скачать с нашего сайта: OfficeUninstall.zip (1,4 Мб)

Ниже указаны команды для полного удаления различных версий Microsoft Office:

Версия Команда
Office 2003 Cscript.exe "%OFFICEREMOVE%2003OffScrub03.vbs” ALL /Quiet /NoCancel /Force /OSE
Команда для удаления через SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2003OffScrub03.vbs" ALL /Quiet /NoCancel /Force /OSE"
Office 2007 Cscript.exe "%OFFICEREMOVE%2007OffScrub07.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2007OffScrub07.vbs" ALL /Quiet /NoCancel /Force /OSE"
Office 2010 Cscript.exe "%OFFICEREMOVE%2010OffScrub10.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2010OffScrub10.vbs" ALL /Quiet /NoCancel /Force /OSE"
Office 2013 Cscript.exe "%OFFICEREMOVE%2013OffScrub_O15msi.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2013OffScrub_O15msi.vbs" ALL /Quiet /NoCancel /Force /OSE"
Office 2016 Cscript.exe "%OFFICEREMOVE%2016OffScrub_O16msi.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2016OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE"
Office 365 (C2R) Cscript.exe "%OFFICEREMOVE%C2ROffScrubc2r.vbs” ALL /Quiet /NoCancel /Force /OSE
SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "C2ROffScrubc2r.vbs" ALL /Quiet /NoCancel /OSE"

скрипт для полного удаления office 2003 с компьютера пользователя

В состав проекта Remove-PreviousOfficeInstalls на Git входит скрипт Remove-PreviousOfficeInstalls.ps1 , который должен автоматически определять установленную на компьютере версию MS Office и вызывать один из Offscrub*.vbs скриптов.

Удаление Microsoft.Office.Desktop с помощью PowerShell

Обратите внимание, что Windows 10 / Windows 11 часто поставляются с предустановленным UWP приложением Microsoft.Office.Desktop.Apps из Microsoft Store. Для удаления такой версии Office из Windows нужно использовать PowerShell:

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

предостановленное приложение магазина microsoft Microsoft.Office.Desktop.Apps

Также вы можете использовать команды Get-Package, Uninstall- Package для удаления любого приложения в Windows :

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

EnglishRussianUkrainian