古い (未使用の) PowerShell モジュールを削除する方法
<本文>
この記事では、Windows コンピューターにインストールされている PowerShell モジュールを安全に削除する方法について説明します。これは、古いモジュールまたは未使用のモジュールをアンインストールしたり、PowerShell の起動が遅い問題を解決したり、モジュールの競合を修正したりするために必要になる場合があります。
このコマンドを使用して、登録されたリポジトリを介してコンピューターにインストールされているサードパーティの PowerShell モジュールを一覧表示します。
Get-InstalledModule

このコマンドは、Install-Module コマンドレットを介してインストールおよび登録されたサードパーティの PowerShell モジュールを一覧表示します。私の場合、すべての PS モジュールは PSGallery リポジトリ経由でインストールされます。
インストールされているモジュールを削除するには、Uninstall-Module コマンドでその名前を指定します。たとえば:
アンインストールモジュール名 PSWindowsUpdate
コンピュータには複数のバージョンのモジュールがインストールされている場合があります。したがって、このコマンドレットはモジュールの最新バージョンを削除するか、複数のバージョンが見つかった場合は失敗します。モジュールの利用可能なバージョンは次のように表示されます。
Get-Module pswindowsupdate-ListAvailable

特定のモジュールバージョンをアンインストールするには
アンインストールモジュール名 PSWindowsUpdate-RequiredVersion 2.2.1.4-Verbose
特定のモジュールの最新バージョンを除くすべてのバージョンを削除します。
` $moduleName=“PSWindowsUpdate”$versions=Get-InstalledModule-Name $moduleName-AllVersions |並べ替え - オブジェクトのバージョン - 降順
$バージョン |選択-オブジェクト-スキップ 1 | ForEach-Object { アンインストールモジュール名 $moduleName-RequiredVersion $_.Version-Force } `
すべてのモジュール バージョンを削除します。
アンインストールモジュール名 PSWindowsUpdate-AllVersions
Invoke-Command コマンドレットを使用すると、リモート コンピューター上の PowerShell モジュールを削除できます。
Invoke-Command-ComputerName mun-dc01-ScriptBlock {Uninstall-Module PSWindowsUpdate-RequiredVersion 2.2.1.2-Force-Verbose}
モジュールをアンインストールすると、モジュールが使用中であることを示すエラーが表示される場合があります。
WARNING: The version '2.2.1.4' of module 'PSWindowsUpdate' is currently in use. Retry the operation after closing the applications.PackageManagement\Uninstall-Package : Module 'PSWindowsUpdate' is in currently in use or you don't have the required permissions.

このようなモジュールを削除するには、まずモジュールが読み込まれた (インポートされた) PowerShell セッションを閉じます。現在のセッションにロードされている PS モジュールを一覧表示します。
モジュールの取得
現在の PS コンソールを閉じずにモジュールをメモリからアンロードするには、次のコマンドを実行します。
モジュール名 PSWindowsUpdate の削除

この後、もう一度モジュールを削除してみてください (場合によっては、モジュールを強制的に削除するには-Force オプションを追加する必要がありますが、これにより他のモジュールの依存関係が壊れる可能性があるので注意してください)。
アンインストールモジュール名 PSWindowsUpdate-Force
PowerShell セッションを開いたときにアンインストールするモジュールが自動的に読み込まれる場合は、PS1 プロファイル ファイルを読み込まずに PowerShell コンソールを起動することでこれを回避できます。
Powershell.exe-NoProfile-Command "Uninstall-Module ImportExcel"
コンピューターで使用可能なすべての PowerShell モジュールの完全なリスト (リポジトリを通じてインストールされたものと手動でインストールされたものを含む) は、次のように表示できます。
Get-Module-ListAvailable|名前、バージョン、パスを選択

「パス」列には、モジュール ファイルの場所が表示されます。 Windows PowerShell では、次のディレクトリにインストール (コピー) されたモジュールを使用 (インポート) できます。
C:\Users\%username%\Documents\WindowsPowerShell\ModulesC:\Program Files\WindowsPowerShell\ModulesC:\Windows\system32\WindowsPowerShell\v1.0\Modules
このパスのリストは、環境変数 $env:PSModulePath にあります。

PowerShell Core 7.x では、$env:PSModulePath 変数に次の追加パスが含まれます。
C:\program files\windowsapps\microsoft.powershell_7.5.2.0_x64__8wekyb3d8bbwe\ModulesC:\Program Files\PowerShell\ModulesC:\program files\powershell\7\Modules

アンインストール後、モジュール ディレクトリにファイルが残る場合があります。これらのファイルは手動で削除する必要があります。たとえば、この PS スクリプトはモジュールをアンインストールし、フォルダーが空でない場合はフォルダーの内容をクリアします。
` $Module=Get-Module ImportExcel-ListAvailable
アンインストールモジュール $Module.Name-verbose
削除項目 $Module.ModuleBase-Recurse-Force `
*️⃣ 出典リンク:
PowerShell の起動が遅い問題、PSWindowsUpdate、Invoke-Command、手動でインストールされた、