PowerShellを使ってコマンドラインからアプリのアンインストールする方法を説明します。

ちくにゃん
コマンドラインから(PowerShell)からインストールされているアプリをアンインストールできないかな?
できればバッチファイルを作れるんだけどなあ〜。

天舞くん
コマンドラインからアプリの削除は
Get-Packageコマンドで対象のパッケージを特定し、結果をパイプでUninstall-Packageコマンドに渡して削除します。
対象のパッケージはワイルドカード「*」が使えます。
以下説明です。
- PowerShellを管理者で実行し、インストールされているアプリを表示します
Get-Package | ft name
削除するアプリがある程度わかっているのであれば
Get-Package JUST* | ft name
のように「*」(ワイルドカード)を使うことができます。 - 表示されたアプリから削除するアプリを確認しアンインストールを実行します。
例:JUSTOffice関連でJUSTから始まるアプリケーションを削除
Get-Package -Name "JUST*" | Uninstall-Package
とします。 - ワイルドカード以外にも削除するアプリがある場合はアプリ名を変更し2を繰り返します。
実行したコマンドをまとめてファイルを作り、.ps1という拡張子で保存します。 - バッチファイルからPowerShellを呼び出す方法
powershell -NoProfile -ExecutionPolicy Unrestricted
ここに3で作成したファイル(例えばJustOfficeRemove.ps1)を呼び出し実行します。
powershell -NoProfile -ExecutionPolicy Unrestricted ./JustOfficeRemove.ps1
./は現在のディレクトリを明示的に指定しています。
インストールしたJustOfficeの試用版を一括削除するバッチファイルを作りました。
RmvPackage.bat
echo on cd /d %~dp0 powershell -NoProfile -ExecutionPolicy Unrestricted .\JustOfficeRemove.ps1 set /p yn_check="Windowsを再起動します。よろしいですか? y(Y)で再起動 n(N)で再起動せずに終了 (y/n) " IF %yn_check:Y=Y%==Y ( shutdown /r /t 0 )
JustOfficeRemove.ps1
Get-Package -Name "JUST*" | Uninstall-Package Get-Package -Name "ATOK Pro 6" | Uninstall-Package Get-Package -Name "一太郎*" | Uninstall-Package Get-Package -Name "花子Pro 6" | Uninstall-Package

