PowerShellを使ってスクリプト開発や環境管理をしていると、気づかないうちに複数のモジュールがインストールされていることがありますよね。
でも、不要なモジュールが増えると困ったことが起こります:
- スクリプトの競合が発生する
- 実行速度が遅くなる
- 管理が煩雑になる
今回は、PowerShellでモジュールを安全かつ正確に削除する方法を、初心者にも分かりやすく解説します。
管理者視点での注意点や、「削除できないときの対処法」も取り上げるので、環境をクリーンに保ちたい方は必見です。
PowerShellモジュールとは?

PowerShellモジュールとは、コマンドレットや関数、スクリプトがまとまった再利用可能な単位のことです。
代表的なモジュール例
Az
:Azure用のコマンド群Pester
:テスト用のツールPSReadLine
:入力補助機能
これらのモジュールは便利ですが、使わなくなったものは削除しておくと良いでしょう。
インストール済みモジュールの確認方法
まずは、どんなモジュールがインストールされているか確認してみましょう。
基本的な確認方法
Get-InstalledModule
特定ユーザーのみにインストールされたモジュールを調べる
Get-InstalledModule -Scope CurrentUser
システム全体のモジュールを調べる
Get-Module -ListAvailable
この結果を見て、不要なモジュールを特定していきます。
モジュールの削除方法(Uninstall-Module)
最も基本的な削除方法です。
基本的な構文
Uninstall-Module -Name モジュール名
具体例
Uninstall-Module -Name Az
注意点
- 管理者権限で実行が必要な場合があります(特にシステム全体にインストールされているモジュール)
- モジュールが依存関係を持つ場合、エラーになることがあります
管理者権限での実行が必要なときは、PowerShellを「管理者として実行」してから試してくださいね。
手動でモジュールを削除する方法(削除できない場合)

Uninstall-Module
が機能しない場合は、ファイルごと直接削除することもできます。
モジュール格納場所の確認
$env:PSModulePath -split ';'
主な格納場所
- ユーザー用:
C:\Users\<ユーザー名>\Documents\PowerShell\Modules
- システム用:
C:\Program Files\PowerShell\7\Modules
など
該当フォルダを手動で削除すればOKです。ただし、この方法は最後の手段として使いましょう。
よくあるエラーと対処法
実際に削除しようとすると、こんなエラーに遭遇することがあります。
Uninstall-Module は認識されない
原因:PowerShellGet
モジュールが古い場合があります。
対処法:以下のコマンドで更新しましょう。
Install-Module PowerShellGet -Force
アクセス拒否エラー(Access Denied)
原因:管理者権限が必要なモジュールを削除しようとしています。
対処法:PowerShellを**「管理者として実行」**してから再試行してください。
エラーが出ても慌てずに、原因を確認してから対処すれば大丈夫です。
削除の際の注意点
モジュールを削除する前に、以下の点に注意してください。
依存関係に注意
依存モジュールを一緒に削除しないと不具合が起きる場合があります。削除前に、そのモジュールが他のモジュールから使われていないか確認しましょう。
プロファイルスクリプトをチェック
プロファイルスクリプトにモジュールの読み込みがあると、起動時にエラーになることがあります。
標準モジュールは残しておく
よく使う標準モジュール(例:PSReadLine)は削除しないことを推奨します。これらがないと、PowerShellが使いにくくなってしまいます。
まとめ
PowerShellモジュールは便利ですが、不要になったものを放置すると環境が重くなったり、バージョン競合を招いたりします。
定期的にチェック・整理することで、安定したスクリプト運用が可能になります。
ポイントまとめ
- モジュールの確認:
Get-InstalledModule
- 削除:
Uninstall-Module -Name モジュール名
- 削除できないときは手動でモジュールフォルダを削除
- 管理者権限や依存関係に注意して操作しよう
コメント