Public/Test-ModuleAvailability.ps1
function Test-ModuleAvailability { <# .SYNOPSIS Tests if a module is available and can be loaded. .PARAMETER ModuleName Name of the module to test. .OUTPUTS Boolean indicating if module is available. #> param( [Parameter(Mandatory = $true)] [string]$ModuleName ) try { # Check if module is already loaded if (Get-Module -Name $ModuleName -ErrorAction SilentlyContinue) { return $true } # Check if module is available if (Get-Module -ListAvailable -Name $ModuleName -ErrorAction SilentlyContinue) { return $true } return $false } catch { return $false } } |