Skip to content

Commit 9645ea7

Browse files
committed
Fix v1.3.1 release
_ Fix `Get-RequiredModule` function to check VMware PowerCLI version
1 parent 0107f83 commit 9645ea7

File tree

2 files changed

+35
-11
lines changed

2 files changed

+35
-11
lines changed

Src/Private/Get-RequiredModule.ps1

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
function Get-RequiredModule {
2+
<#
3+
.SYNOPSIS
4+
Function to check if the required version of VMware PowerCLI is installed
5+
.DESCRIPTION
6+
Function to check if the required version of VMware PowerCLI is installed
7+
.PARAMETER Name
8+
The name of the required PowerShell module
9+
.PARAMETER Version
10+
The version of the required PowerShell module
11+
#>
12+
[CmdletBinding()]
13+
14+
Param
15+
(
16+
[Parameter(Mandatory = $true, ValueFromPipeline = $false)]
17+
[ValidateNotNullOrEmpty()]
18+
[String]$Name,
19+
20+
[Parameter(Mandatory = $true, ValueFromPipeline = $false)]
21+
[ValidateNotNullOrEmpty()]
22+
[String]$Version
23+
)
24+
25+
# Check if the required version of VMware PowerCLI is installed
26+
$RequiredModule = Get-Module -ListAvailable -Name $Name | Sort-Object -Property Version -Descending | Select-Object -First 1
27+
$ModuleVersion = "$($RequiredModule.Version.Major)" + "." + "$($RequiredModule.Version.Minor)"
28+
if ($ModuleVersion -eq ".") {
29+
throw "VMware PowerCLI $Version or higher is required to run the VMware vSphere As Built Report. Run 'Install-Module -Name $Name -MinimumVersion $Version' to install the required modules."
30+
}
31+
if ($ModuleVersion -lt $Version) {
32+
throw "VMware PowerCLI $Version or higher is required to run the VMware vSphere As Built Report. Run 'Update-Module -Name $Name -MinimumVersion $Version' to update the required modules."
33+
}
34+
}

Src/Public/Invoke-AsBuiltReport.VMware.vSphere.ps1

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,7 @@ function Invoke-AsBuiltReport.VMware.vSphere {
2020
)
2121

2222
# Check if the required version of VMware PowerCLI is installed
23-
$RequiredVersion = '12.1'
24-
$RequiredModule = Get-Module -ListAvailable -Name 'VMware.PowerCLI' | Sort-Object -Property Version -Descending | Select-Object -First 1
25-
$ModuleVersion = "$($RequiredModule.Version.Major)" + "." + "$($RequiredModule.Version.Minor)"
26-
if ($null -eq $ModuleVersion) {
27-
Write-Warning -Message "VMware PowerCLI $RequiredVersion or higher is required to run the VMware vSphere As Built Report. Run 'Install-Module -Name VMware.PowerCLI -MinimumVersion $RequiredVersion' to install the required modules."
28-
break
29-
}
30-
elseif ($ModuleVersion -lt $RequiredVersion) {
31-
Write-Warning -Message "VMware PowerCLI $RequiredVersion or higher is required to run the VMware vSphere As Built Report. Run 'Update-Module -Name VMware.PowerCLI -MinimumVersion $RequiredVersion' to update PowerCLI."
32-
break
33-
}
23+
Get-RequiredModule -Name 'VMware.PowerCLI' -Version '12.3'
3424

3525
# Import Report Configuration
3626
$Report = $ReportConfig.Report

0 commit comments

Comments
 (0)