業務用PCでは、意図しないソフトや不要なアプリケーションがインストールされたままになっているケースが少なくありません。
これらを放置すると、セキュリティリスクの増加、ディスク容量の圧迫、動作パフォーマンスの低下など、業務に直接影響する問題が発生します。
複数台のPCを管理する環境では、GUI操作で1台ずつアンインストールする方法は非現実的です。
そこで有効なのが、PowerShellを利用した不要ソフトの一括削除です。
本記事では、業務PC管理を前提として、安全性・再現性・管理性を重視したPowerShellによる不要ソフト削除手順を解説します。
PowerShellでソフト削除を行う前の重要な前提
PowerShellでソフトを削除する前に、必ず以下を確認してください。
- 管理者権限でPowerShellを実行すること
- 削除対象ソフトが業務に不要であることを事前に確認すること
- 可能であれば検証用PCでテストを行うこと
- 利用者に事前周知を行うこと
業務PCでは、利用者が独自にインストールしたソフトだけでなく、業務システムの一部として導入されたソフトが含まれている場合があります。
一括削除を行う場合は、削除対象を明確に限定することが必須です。
インストール済みソフトをPowerShellで確認する方法
削除対象を特定するため、まずはインストール済みソフトの一覧を取得します。
レジストリからインストール情報を取得する方法
Windowsでは、インストールされた多くのソフト情報がレジストリに登録されています。
|
1 2 |
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher |
64bit OSで32bitアプリも含めて確認する場合は、以下も実行します。
|
1 2 |
Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher |
この結果から、削除対象となるソフト名(DisplayName)を正確に把握してください。

不要なソフトを削除する前に、まずは現在インストールされているソフトを正確に把握しておくことが重要です。
PowerShellを使ってインストール済みソフトを一覧で取得する手順については、
以下の記事で詳しく解説しています。
単体ソフトをPowerShellで削除する基本手順
PowerShellからソフトを削除する場合、アンインストーラを呼び出す方法が一般的です。
|
1 2 3 |
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -like "*削除対象ソフト名*" } | ForEach-Object { Start-Process "msiexec.exe" -ArgumentList "/x $($_.PSChildName) /qn" -Wait } |
この方法は、MSI形式でインストールされたソフトに対して有効です。/qn を指定することで、ユーザー操作なしで削除が実行されます。
複数ソフトを一括削除する実務向け手順
業務PC管理では、複数の不要ソフトをまとめて削除するケースがほとんどです。
削除対象リストを配列で定義する方法
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$RemoveList = @( "不要ソフトA", "不要ソフトB", "不要ソフトC" ) foreach ($app in $RemoveList) { Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -like "*$app*" } | ForEach-Object { Start-Process "msiexec.exe" -ArgumentList "/x $($_.PSChildName) /qn" -Wait } } |
この方法を使うことで、管理対象PCに共通して不要なソフトを一括削除できます。
ストアアプリ(UWPアプリ)を削除する場合
Windows標準アプリやストアアプリは、通常のアンインストール方法とは異なります。
現在インストールされているストアアプリを確認
|
1 |
Get-AppxPackage | Select-Object Name, PackageFullName |

特定のストアアプリを削除
|
1 |
Get-AppxPackage *アプリ名* | Remove-AppxPackage |
業務PCでは、利用しないストアアプリを削除することで、不要な通信や更新を抑制できます。
一括削除スクリプトを配布・実行する際の注意点
PowerShellスクリプトを配布して実行する場合、以下の点に注意してください。
- 実行ポリシーの影響を受ける可能性がある
- 管理者権限での実行が必須
- 実行ログを取得しておくとトラブル対応が容易
ログ取得例は以下の通りです。
|
1 2 3 |
Start-Transcript -Path "C:\Temp\RemoveApp.log" # 削除処理 Stop-Transcript |
よくある質問(Q & A)
- PowerShellで削除できないソフトはありますか?
-
はい、あります。
独自のアンインストーラを持つソフトや、常駐サービスとして動作しているソフトは、PowerShellから削除できない場合があります。 - 削除後に再起動は必要ですか?
-
ソフトによっては再起動が必要です。
業務時間外での実施、または計画的な再起動が推奨されます。 - 誤って削除した場合、元に戻せますか?
-
基本的に自動復元はできません。
再インストールが必要になるため、事前確認が重要です。 - グループポリシーやIntuneと併用できますか?
-
併用可能です。
PowerShellスクリプトは配布手段としてもよく利用されています。
まとめ
PowerShellを使った不要ソフトの一括削除は、業務PC管理において非常に有効な手段です。
正しく対象を定義し、管理者権限で安全に実行すれば、作業時間を大幅に削減できます。
一方で、誤削除のリスクも伴うため、検証・周知・ログ管理を徹底したうえで運用することが重要です。

