Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

OffScrubスクリプトで旧バージョンのOfficeを自動的に完全アンインストールする方法

すべてのユーザーPCに対してMicrosoft Officeを最新版へ一括更新する課題(SCCM経由でOffice 2016を配布し、KMSサーバーでライセンス認証を行う)に取り組む際、以前にインストールされたあらゆるバージョンのOfficeを自動的かつ正しく削除するシンプルなスクリプトが必要になりました。このスクリプトは、SCCMパッケージを使用したOfficeの自動アンインストール/インストールタスクで活用できます。

新しいOfficeバージョンをインストールする前に、以前インストールされていたMS Officeを削除しておくことが推奨されます。同一PC上で複数のOfficeバージョンを併用することは技術的には可能ですが、潜在的な問題を避けるため推奨されていません。そのため、PCに残っている任意のOfficeバージョンを正しくアンインストールできるスクリプトを作成する必要がありました。

OffScrub VBSスクリプトとは

旧バージョンのOfficeをアンインストールするいくつかの方法を検討した結果、マイクロソフトのPremier Supportサービスが提供するOffScrubスクリプトを採用しました。OffScrubスクリプトは公式のEasyFixパッケージに含まれています(コントロールパネルからアンインストールできない場合に、Office 2007/2010を強制的に削除するためのパッケージです)。Office 2013および2016の削除には、O15CTRRemove.diagcabパッケージという別のツールが使用され、こちらにもOffScrubスクリプトが含まれています(後述の注記を参照)。

OffScrubは、Office製品を自動的に削除するためのVBSスクリプト集です。これらのスクリプトを使用すると、現在の動作状態にかかわらず、システムから過去にインストールされたOfficeコンポーネントを完全にクリーンアップできます。OffScrubでOfficeをアンインストールする主なメリットは以下の通りです。

  1. 元のインストールファイルやOfficeキャッシュが存在しない、または破損している場合でも、旧バージョンのOfficeをアンインストール可能。
  2. レジストリのユーザーキーには影響しない。
  3. Officeの完全な削除が可能。
  4. 不要な設定や全製品(Project、Visio、Visio Viewerなども含む)を削除できる。

O15CTRRemove.diagcabパッケージに含まれるRemove-PreviousOfficeInstalls.ps1スクリプトを使用すると、インストールされているOfficeのバージョンを自動検出し、対応するOffscrub*.vbsを呼び出すことができます。

まず、自社環境で使用しているOfficeおよびWindowsのバージョンに対応したFixItをマイクロソフト公式サイトからダウンロードします。各Office・Windowsバージョン向けのO15CTRRemove.diagcabパッケージは、サポートページ(https://support.microsoft.com/en-us/kb/971179)から入手できます。

重要な注意点: かつてこのページにはEasyFixパッケージとO15CTRRemove.diagcabの両方へのリンクがありましたが、現在はWindows 7 SP1、Windows 8.1、Windows 10上のOffice 2013/2016を削除できる汎用パッケージ「O15CTRRemove.diagcab」へのリンクのみとなっています。また、年初にはO15CTRRemove.diagcab内に新版Office用のOffscrubスクリプトが含まれていましたが、現在はPowerShellスクリプトのみが残されています。これらを含むOffscrub VBSスクリプトは、GitHub上のOffice開発チーム公式リポジトリ(OfficeDev)から入手する必要があります。

次の表に、OSのバージョンごとに異なるOfficeバージョンをアンインストールするためのマイクロソフト提供パッケージへのリンクをまとめました。

OfficeバージョンWindows 7 / Windows 8Windows 10
Office 2003MicrosoftFixit20054.mini.diagcab非対応
Office 2007MicrosoftFixit20052.mini.diagcab非対応
Office 2010MicrosoftFixit20055.mini.diagcab
Office 2013GitHub上のOffScrub_O15msi.vbs
Office 2016GitHub上のOffScrub_O16msi.vbs
Office 365 / Click-To-RunGitHub上のOffScrubc2r.vbs

ダウンロードしたファイルはC:\tools\OfficeUninstallに保存します。*.diagcabファイルは一般的なCAB形式のアーカイブなので、expandコマンドで展開できます。

作業しやすくするため、Officeのバージョンごとに個別のディレクトリを作成しましょう。

set OFFICEREMOVE=C:\tools\OfficeUninstall\
md "%OFFICEREMOVE%\2003"
md "%OFFICEREMOVE%\2007"
md "%OFFICEREMOVE%\2010"
md "%OFFICEREMOVE%\2013"
md "%OFFICEREMOVE%\2016"
md "%OFFICEREMOVE%\O365"

ダウンロードしたdiagcabアーカイブからはVBSファイルだけを展開します。

expand -i "%OFFICEREMOVE%\MicrosoftFixit20054.mini.diagcab" -f:OffScrub*.vbs "%OFFICEREMOVE%\2003"
expand -i "%OFFICEREMOVE%\MicrosoftFixit20052.mini.diagcab" -f:OffScrub*.vbs "%OFFICEREMOVE%\2007"
expand -i "%OFFICEREMOVE%\MicrosoftFixit20055.mini.diagcab" -f:OffScrub*.vbs "%OFFICEREMOVE%\2010"

続いて、GitHubからダウンロードした新バージョンOffice用のVBSファイルも同じディレクトリ構成にコピーします。

move /y "%OFFICEREMOVE%\OffScrub_O15msi.vbs" "%OFFICEREMOVE%\2013"
move /y "%OFFICEREMOVE%\OffScrub_O16msi.vbs" "%OFFICEREMOVE%\2016"
move /y "%OFFICEREMOVE%\OffScrubc2r.vbs" "%OFFICEREMOVE%\O365"

以上で、次のような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]

SCCMからOffScrub VBSスクリプトを実行する

Windows x64環境で32ビット版Configuration ManagerクライアントからOfficeアンインストールスクリプトを正しく動作させるには、適切なバージョンのcscript.exeを実行する必要があります。64ビットシステム上でスクリプトを実行する場合は、C:\Windows\SysWOW64にあるcscript.exeを使用します。

これはNativeCScript.cmdスクリプトを使えば実現できます。

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

必要なファイル一式をまとめたすぐに使えるアーカイブ(OfficeRemova-OffScrubl.zip / 1.4 MB)も公開されているので、必要に応じてダウンロードしてください。

各Officeバージョンの削除コマンド

Office 2003 削除ユーティリティ

PCからOffice 2003コンポーネントを完全に削除するスクリプトを手動で実行するコマンドは次の通りです。

Cscript.exe "%OFFICEREMOVE%\2003\OffScrub03.vbs" ALL /Quiet /NoCancel /Force /OSE

このタスクをSCCMタスクとして実行する場合は、削除プログラムを次のように指定します。

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2003\OffScrub03.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office 2007 削除ユーティリティ

Office 2007コンポーネントを完全に削除するコマンド:

Cscript.exe "%OFFICEREMOVE%\2007\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 2010 削除ユーティリティ

Microsoft Office 2010を完全にアンインストールするコマンド:

Cscript.exe "%OFFICEREMOVE%\2010\OffScrub10.vbs" ALL /Quiet /NoCancel /Force /OSE

Configuration Managerで実行する場合:

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2010\OffScrub10.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office 2013 削除ユーティリティ

Office 2013 MSI製品を完全に削除するコマンド:

Cscript.exe "%OFFICEREMOVE%\2013\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 2016 削除ユーティリティ

現在のPC上でOffice 2016 MSI製品を完全に削除するOffScrubスクリプトの実行コマンド:

Cscript.exe "%OFFICEREMOVE%\2016\OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE

SCCMパッケージからOffice 2016のアンインストールを実行するには、次のコマンドを使用します。

"%SystemRoot%\System32\cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2016\OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE"

Office Click-to-Run / Office 365 アンインストールスクリプト

Office Click-to-RunまたはOffice 365パッケージを削除するには、次のコマンドを実行します。

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"

MS Officeバージョンの自動検出

Remove-PreviousOfficeInstalls.ps1は、Git上のRemove-PreviousOfficeInstallsプロジェクトに含まれるPowerShellスクリプトです。PCにインストールされているMS Officeのバージョンとライセンス認証状態を自動的に検出し、対応するOffScrubスクリプトを呼び出します。多少の修正を加えれば、Officeの自動削除シナリオにも組み込んで利用できます。

  1. MacでMicrosoft Office 2011を完全にアンインストールする2つの方法

    Microsoft Officeは、パソコンやタブレットを使ったことのある人なら誰もが知っている、世界で最も有名かつ最も広く使われているオフィスソフトです。それほど普及しているOffice 2011を、あえてMacから削除したい理由は何でしょうか? 主な理由は以下のとおりです。 Officeが破損してしまい、完全に再インストールしたい。 バージョンアップのため。新バージョンをインストールする前に旧バージョンをきれいに消したい人も多い。 Macを個人的にたまにしか使わない。macOS標準搭載の「Pages」や「Numbers」はMS Office形式で書き出せるため、もうOfficeを使う必要

  2. Windows 11でアップデートをアンインストールする全方法まとめ

    Windowsのアップデートには、バグ修正、セキュリティパッチ、新機能などが含まれることが多いですが、場合によってはパフォーマンス低下や動作不良などのトラブルを引き起こすこともあります。このガイドでは、Windows 11でアップデートをアンインストール(削除)するための複数の方法を詳しく解説します。 最近のアップデート適用後に問題が発生した場合は、そのアップデートを削除することで簡単に解決できることがあります。以下に、Windows 11でアップデートをアンインストールする方法をいくつかご紹介します。 Windows 11のアップデートを削除する方法 ※注意:ここで紹介するすべての方法は、W