diff --git a/vmxtoolkit/vmxtoolkit.psm1 b/vmxtoolkit/vmxtoolkit.psm1 index 2a3e4af..34880ef 100644 --- a/vmxtoolkit/vmxtoolkit.psm1 +++ b/vmxtoolkit/vmxtoolkit.psm1 @@ -3342,7 +3342,7 @@ function Start-VMX if (($vmx) -and ($vmx.state -ne "running")) { [int]$vmxhwversion = (Get-VMXHWVersion -config $vmx.config).hwversion - if ($vmxHWversion -le $vmwareversion.major) + if (Is-MatchingHWVersion -VMwareMajorVersion $($vmwareversion.Major) -VMXHWversion $vmxHWversion) { Write-Verbose "Checking State for $vmxname : $($vmx.vmxname) : $($vmx.state)" Write-Verbose "creating Backup of $($vmx.config)" @@ -3400,9 +3400,9 @@ function Start-VMX Write-Warning "There was an error starting the VM: $cmdresult" } } - else { Write-Error "Vmware version does not match, need version $vmxhwversion " } + else { Write-Error "Vmware version does not match, update vmx hardware version as per https://kb.vmware.com/s/article/1003746 " } } - elseif ($vmx.state -eq "running") { Write-Verbose "VM $VMXname already running" } # end elseif + elseif ($vmx.state -eq "running") { Write-Host "VM $VMXname already running" } # end elseif else { Write-Verbose "VM $VMXname not found" } # end if-vmx } @@ -6442,3 +6442,30 @@ Write-Host -ForegroundColor Green "[success]" $Object | Add-Member -MemberType NoteProperty -Name LoggedIn -Value $true Write-Output $Object } + +function Is-MatchingHWVersion{ +[CmdletBinding(HelpUri = "https://github.com/bottkars/vmxtoolkit/wiki")] +param ( +[Parameter(Mandatory = $true, ValueFromPipeline = $true)][int]$VMwareMajorVersion, +[Parameter(Mandatory = $true, ValueFromPipeline = $true)][int]$VMXHWversion +) +begin{ +} +process{ + +Write-Verbose "VM ware major version: $VMwareMajorVersion" +Write-Verbose "VMX HW version: $VMXHWversion" + +switch ($VMwareMajorVersion) +{ + 16 { if(($VMXHWversion -eq 18) -or ($VMXHWversion -eq 19)){ return $true } } + 15 { if(($VMXHWversion -eq 16) -or ($VMXHWversion -eq 16)){ return $true } } + Default { + if($VMXHWversion -eq $VMwareMajorVersion){ return $true } + } +} +return $false +} +end { } + +} \ No newline at end of file