Para comprobar si existe un módulo, he intentado lo siguiente:
try {
Import-Module SomeModule
Write-Host "Module exists"
}
catch {
Write-Host "Module does not exist"
}
La salida es:
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
Recibo un error, pero no se lanza ninguna excepción, por lo que vemos Module exists
al final, aunque SomeModule
no existe.
¿Existe una buena manera (preferiblemente sin generar un error) para detectar si un módulo de PowerShell está instalado en el sistema?