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をアンインストールする主なメリットは以下の通りです。
- 元のインストールファイルやOfficeキャッシュが存在しない、または破損している場合でも、旧バージョンのOfficeをアンインストール可能。
- レジストリのユーザーキーには影響しない。
- Officeの完全な削除が可能。
- 不要な設定や全製品(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 8 | Windows 10 |
| Office 2003 | MicrosoftFixit20054.mini.diagcab | 非対応 |
| Office 2007 | MicrosoftFixit20052.mini.diagcab | 非対応 |
| Office 2010 | MicrosoftFixit20055.mini.diagcab | |
| Office 2013 | GitHub上のOffScrub_O15msi.vbs | |
| Office 2016 | GitHub上のOffScrub_O16msi.vbs | |
| Office 365 / Click-To-Run | GitHub上の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の自動削除シナリオにも組み込んで利用できます。
-
MacでMicrosoft Office 2011を完全にアンインストールする2つの方法
Microsoft Officeは、パソコンやタブレットを使ったことのある人なら誰もが知っている、世界で最も有名かつ最も広く使われているオフィスソフトです。それほど普及しているOffice 2011を、あえてMacから削除したい理由は何でしょうか? 主な理由は以下のとおりです。 Officeが破損してしまい、完全に再インストールしたい。 バージョンアップのため。新バージョンをインストールする前に旧バージョンをきれいに消したい人も多い。 Macを個人的にたまにしか使わない。macOS標準搭載の「Pages」や「Numbers」はMS Office形式で書き出せるため、もうOfficeを使う必要
-
Windows 11でアップデートをアンインストールする全方法まとめ
Windowsのアップデートには、バグ修正、セキュリティパッチ、新機能などが含まれることが多いですが、場合によってはパフォーマンス低下や動作不良などのトラブルを引き起こすこともあります。このガイドでは、Windows 11でアップデートをアンインストール(削除)するための複数の方法を詳しく解説します。 最近のアップデート適用後に問題が発生した場合は、そのアップデートを削除することで簡単に解決できることがあります。以下に、Windows 11でアップデートをアンインストールする方法をいくつかご紹介します。 Windows 11のアップデートを削除する方法 ※注意:ここで紹介するすべての方法は、W