PowerShellでソフトウェアを削除する方法
Windows でソフトウェアをアンインストールするのは、コントロールパネルや設定から「アンインストール」をクリックするほど簡単ではありません。特に、あまり知られていないアプリ、ストア限定アプリ、通常の場所に表示されないソフトウェアの場合はなおさらです。少し奇妙に感じるかもしれませんが、一部のプログラムは通常の方法ではなかなか消えてくれません。そこで PowerShell の出番です。PowerShell は強力で柔軟性が高く、なかなか消えない頑固なアプリを取り除くのに役立ちます。PowerShell を使ってソフトウェアを削除する方法を知っていれば、イライラする時間を節約したり、従来のアンインストーラーがうまく機能しない場合に窮地から抜け出すことができます。重要なのは、アプリが元々どのようにインストールされたか(MSI、PackageManagement システム、UWP ストアアプリなど)に応じて、アプリをターゲットにして削除するさまざまな方法を理解することです。これらの方法をマスターすることで、より高度な制御が可能になり、システムをよりスリムでクリーンな状態に保ち、そして願わくばより快適な状態に保つことができます。
PowerShellを使用してソフトウェアをアンインストールする方法
方法1: MSIでインストールされたアプリケーションの場合
アプリがWindowsインストーラ(.msiファイル)経由でインストールされた場合、これは便利です。WMI(Windows Management Instrumentation)インターフェースを使用し、MSIに登録されているソフトウェアをチェックします。なぜわざわざ?それは、通常のアンインストール後に残ることが多いMSIアプリを特にターゲットにしているからです。設定によっては、特にEXEファイル経由でインストールされたプログラムなど、すべてのプログラムがリストされない場合がありますが、MSI関連のアプリについては信頼性の高い方法です。「プログラムと機能」リストにアプリが表示されているのに、通常の方法でアンインストールできない場合は、この方法を使用してください。
- PowerShellを管理者として実行するにはWin + R、 を押し、
powershellと入力し、 を押しますCtrl + Shift + Enter。管理者権限を持っていることを確認してください。権限がないと、コマンドがエラーメッセージを表示せずに失敗したり、すべてのコマンドが表示されない可能性があります。 - すべての MSI インストーラー アプリを一覧表示するには、次のコマンドを入力します。
Get-WmiObject -Class Win32_Product | Select-Object -Property Name - リストを確認し、問題のあるプログラムを見つけて、次のように変数に割り当てます。
$AppToUninstall = Get-WmiObject -Class Win32_Product | Where-Object {$_. Name -eq "Full App Name"} - 最後に、実際にアンインストールするには次のコマンドを実行します。
$AppToUninstall.uninstall()
ヒント: 正確な名前がわからない場合は、-matchのようにアプリ名の一部に を使ってみてください。ただし、複数のエントリが返される可能性があるので、 を使って$_. Name -match "Part of App Name"に保存されている内容を確認してください。$AppToUninstallWrite-Output $AppToUninstall
注: リモートマシンでアンインストールするには、対象のPC名に -ComputerNameGet-WmiObject -Class Win32_Product -ComputerName "RemotePC"を追加してください: 。簡単ですが、設定によってはリモートWMIがブロックされる場合があります。そのため、必ずしもスムーズに動作しない場合もありますので、ご安心ください。
方法2:Uninstall-Packageよりモダンなアプリを使用する
これは、新しいWindows PackageManagementシステム経由でインストールされたアプリ(主に「プログラムと機能」に表示されるアプリ、特に最新のストア経由でインストールされた場合やUninstall-Packageコマンドレットを使用してインストールされた場合)に有効です。なぜこれが便利なのでしょうか?それは、多くの最新のアプリ、特にユニバーサルWindowsプラットフォーム(UWP)アプリは、従来のデスクトップアプリとは異なる方法で管理されているからです。
- インストールされているパッケージ アプリの一覧を取得するには、次のようにします。
Get-Package -Provider Programs -IncludeWindowsInstaller -Name * - アプリの正確な名前、または名前の一部を検索します。不明な場合は、ワイルドカードが役立ちます(例: )
Get-Package -Provider Programs -IncludeWindowsInstaller -Name "*Photos*"。 - 以下を使用して選択したアプリをアンインストールします。
Uninstall-Package -Name "Full App Name" - または、ワイルドカードを使用して一括削除するには:
Get-Package -Provider Programs -IncludeWindowsInstaller -Name "*Zip*" | Uninstall-Package
注意:アプリに複数のバージョンがある場合、 でバージョンを指定しない限り、コマンドは最新のバージョンのみをアンインストールする可能性があります。より高度なオプションと属性については、公式ドキュメント–RequiredVersion "1.2.3"をご覧ください。
方法3: レジストリUninstallStringでアプリを削除する
これは、Windowsレジストリを直接操作する、より手動的で昔ながらの方法です。Windowsはほとんどのアプリのアンインストーラーコマンドを特定のレジストリキーに保存しているため、必要に応じてそれらのコマンドを直接実行できます。ただし、失敗すると少しリスクがありますが、他の方法がうまくいかなかった場合は、これが最善の策となるかもしれません。
- 次の PowerShell コマンドを実行して、特定のプログラムのレジストリを参照し、「ファイル名の一部」をアプリまたはベンダー名に置き換えます。
Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | Get-ItemProperty | Where-Object { $_. DisplayName -match "Part of the file name" } | Select-Object -Property DisplayName, UninstallString - UninstallString値をコピーします。これは通常、実行可能ファイルまたはコマンドへのパスです。
- 実行可能ファイルの場合は、次のように PowerShell で直接実行します
& "C:\Path\To\Installer.exe"。PowerShell が実行するコマンドであることを認識できるように、必ず & (呼び出し演算子) を含めてください。 - 削除を完了するかどうかを尋ねるプロンプトまたは確認画面に注意してください。
方法4: Remove-AppxPackageを使用してUWPストアアプリを削除する
Microsoft Store アプリ(フォト、メール、Xbox など)は別物です。Remove-AppxPackageこれらのアプリを削除するには、通常、PowerShell のコマンドレットを使用する必要があります。手順は簡単ですが、やや不安定です。一部のアプリは Windows に深く統合されているため、削除すると予期せぬ問題が発生する可能性があるからです。とはいえ、通常はこれで不要な UWP アプリをクリーンアップするのに十分です。
- リスト内のすべてのアプリを取得するには:
Get-AppxPackage -AllUsers - 必要なパッケージ名を特定します。「名前」の下に表示されます。
- 次の方法でアプリを削除します:
Remove-AppxPackage -Package "Package Name" - または、ワイルドカードマッチングを使用する場合は、 を使用します
Get-AppxPackage *Photos* | Remove-AppxPackage。これにより、完全なパッケージ名がわからない場合でもアプリを削除できます。
一部のアプリの埋め込み方法によっては、この方法ではファイルが残ってしまう場合があります。しかし、全体的には、システムのアプリリストから不要なファイルを素早く削除できる方法です。
Windowsはシステムの安定性のために一部のアプリを残しておく傾向があるため、すべてをアンインストールできる、あるいはアンインストールすべきではないことを覚えておいてください。これらの方法は責任を持って使用し、重要なアプリやシステム機能を削除する前に必ず二重チェックを行ってください。少し面倒かもしれませんが、システムに何が入っているかを理解し、管理することで、特に大規模なクリーンアップ後の整理やプリインストールされたブロートウェアの削除など、目に見える違いが生まれます。