【完全ガイド】PowerShellでモジュールを削除する方法|アンインストール手順と注意点を解説

Windows

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 モジュール名
  • 削除できないときは手動でモジュールフォルダを削除
  • 管理者権限や依存関係に注意して操作しよう

コメント

タイトルとURLをコピーしました