Private/Test-GetModule.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<#
.SYNOPSIS Checks, whether specified module is loaded. .PARAMETER Name Exact name of the mmodule .PARAMETER RequiredVersion Minimum required module version .EXAMPLE Test-GetModule -Name myModule -RequiredVersion 1.0.1 #> function Test-GetModule { [CmdLetBinding()] [OutputType([bool])] param ( [Parameter(Mandatory = $true, HelpMessage = "Exact name of the mmodule")] [string] $Name, [Parameter(Mandatory = $false, HelpMessage = "Minimum required module version")] [Version] $RequiredVersion ) $ErrorActionPreference = 'Stop' $module = Get-Module -Name $Name -ErrorAction SilentlyContinue if ([string]::IsNullOrEmpty($module) -or [string]::IsNullOrEmpty($module.Version)) { return $false } if ([string]::IsNullOrEmpty($RequiredVersion)) { return $true } if ([Version] $module.Version -ge $RequiredVersion) { return $true } else { return $false } } |