1. ホーム
  2. powershell

[解決済み] PowerShellモジュールがインストールされているかどうかを確認する方法を教えてください。

2022-05-15 02:02:48

質問

モジュールが存在するかどうかを確認するために、私は以下のことを試しました。

try {
    Import-Module SomeModule
    Write-Host "Module exists"
} 
catch {
    Write-Host "Module does not exist"
}

と出力されます。

Import-Module : The specified module 'SomeModule' was not loaded because no valid module file was found in any module directory.
At D:\keytalk\Software\Client\TestProjects\Export\test.ps1:2 char:5
+     Import-Module SomeModule
+     ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (SomeModule:String) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

Module exists

エラーは発生しますが、例外は発生しないので、以下のようになります。 Module exists が表示されますが、最終的には SomeModule は存在しない。

PowerShell モジュールがシステムにインストールされているかどうかを検出する良い方法 (できればエラーを発生させない方法) はありますか?

どのように解決するのですか?

を使用することができます。 ListAvailable のオプションで Get-Module :

if (Get-Module -ListAvailable -Name SomeModule) {
    Write-Host "Module exists"
} 
else {
    Write-Host "Module does not exist"
}