Aby sprawdzić, czy moduł istnieje, próbowałem wykonać następujące czynności:
try {
Import-Module SomeModule
Write-Host "Module exists"
}
catch {
Write-Host "Module does not exist"
}
Wynik to:
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
Otrzymuję błąd, ale nie jest zgłaszany żaden wyjątek, więc widzimy Module exists
na końcu, chociaż SomeModule
nie istnieje.
Czy istnieje dobry sposób (najlepiej bez generowania błędu) na wykrycie, czy w systemie jest zainstalowany moduł PowerShell?