Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 30 additions & 3 deletions vmxtoolkit/vmxtoolkit.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -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)"
Expand Down Expand Up @@ -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
}
Expand Down Expand Up @@ -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 { }

}