ToreUthus
Enthusiast
Enthusiast

Unable to create a new VM with -GuestId windows2019srvNext_64Guest or -GuestId windows2019srv_64

Hi.

We are slowly transfering from 6.5U3 to 7.0U3.

vCenter is running 7.0.3Ua and we have currently 2 VMware hosts with ESXi 7.0.3 in a new cluster.

When trying to create a VM with GuestID relating to Win2019 or Win2022 on the new  7.0.3 Vmware hosts, it fails telling me that :
The guest operating system 'windows2019srv_64Guest' is not supported on the host.

ToreUthus_0-1653040816673.png

Using PowerCli version 12.3 at the moment.

I can successfully manually create a Win2022 or Win2019 VMguest on the same host.

So what am I doing worng?

 

0 Kudos
38 Replies
LucD
Leadership
Leadership

With PowerCLI 12.5 or 12.6 there seems to be no problem


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
CallistoJag
Contributor
Contributor

If you are using HW version 17 or below (which reading above, you are not), you need to use genericMicrosoft Windows Server 2016 or later (64-bit) see KB: https://kb.vmware.com/s/article/59222 Otherwise, try using windows9Server64Guest instead of the above.

0 Kudos
ToreUthus
Enthusiast
Enthusiast

Tried on another server where I had new PowerCLI.
Still no luck.

ToreUthus_0-1653044709878.png

 

0 Kudos
CallistoJag
Contributor
Contributor

Did you try: "windows9Server64Guest"  ?

0 Kudos
ToreUthus
Enthusiast
Enthusiast

Yepp. Tried it before.

It only creates a VMguest with Guest OS Microsoft Windows Server 2016, but I need Win2019 and Win2022.

0 Kudos
CallistoJag
Contributor
Contributor

and "windows2019srv_64Guest"?

0 Kudos
ToreUthus
Enthusiast
Enthusiast

The same error:
The guest operating system 'windows2019srv_64Guest' is not supported on the host.

0 Kudos
CallistoJag
Contributor
Contributor

Is the host you are trying to deploy in on a cluster with old version hosts mixed in?

0 Kudos
ToreUthus
Enthusiast
Enthusiast

Only 2 ESXi7 hosts in that cluster

0 Kudos
CallistoJag
Contributor
Contributor

I think that vCenter somehow limits the deployments until the estate is all version 7, but I might be wrong. Sounds like a "feature" 😞 Sorry I am not more help!

0 Kudos
fabio1975
Expert
Expert

Ciao 

Check via powercli, using either host, if the ID you are trying to use is present. The commands to be given are the following:

$viObjVmHost = Get-VMHost -Name "<EsxiHostName>"
$viewObjEnvBrowser = Get-View -Id (Get-View -Id $viObjVmHost.ExtensionData.Parent).EnvironmentBrowser
$vmxVer = ($viewObjEnvBrowser.QueryConfigOptionDescriptor() | Where-Object {$_.DefaultConfigOption}).Key
$osDesc = $viewObjEnvBrowser.QueryConfigOption($vmxVer,$viObjVmHost.ExtensionData.MoRef).GuestOSDescriptor
$osDesc | Select-Object Id


In my case on a 6.7 host the Guest ID you are trying to use is not present, while on a 7.3 host it is present.

 

0 Kudos
CallistoJag
Contributor
Contributor

He is deploying to a 7 host though 😞

0 Kudos
ToreUthus
Enthusiast
Enthusiast

You have absolutely right. It's missing from the hosts.

PS D:\> $viObjVmHost = Get-VMHost -Name $vmhost
$viewObjEnvBrowser = Get-View -Id (Get-View -Id $viObjVmHost.ExtensionData.Parent).EnvironmentBrowser
$vmxVer = ($viewObjEnvBrowser.QueryConfigOptionDescriptor() | Where-Object {$_.DefaultConfigOption}).Key
$osDesc = $viewObjEnvBrowser.QueryConfigOption($vmxVer,$viObjVmHost.ExtensionData.MoRef).GuestOSDescriptor
$osDesc | Select-Object Id

Id
--
windows9Server64Guest
windows8Server64Guest
windows7Server64Guest
winLonghorn64Guest
winLonghornGuest
winNetEnterprise64Guest
winNetEnterpriseGuest
winNetDatacenter64Guest
winNetDatacenterGuest
winNetStandard64Guest
winNetStandardGuest
winNetWebGuest
winNetBusinessGuest
windows9_64Guest
windows9Guest
windows8_64Guest
windows8Guest
windows7_64Guest
windows7Guest
winVista64Guest
winVistaGuest
winXPPro64Guest
winXPProGuest
win2000AdvServGuest
win2000ServGuest
win2000ProGuest
winNTGuest
win98Guest
win95Guest
win31Guest
dosGuest
vmwarePhoton64Guest
rhel7_64Guest
rhel6_64Guest
rhel6Guest
rhel5_64Guest
rhel5Guest
rhel4_64Guest
rhel4Guest
rhel3_64Guest
rhel3Guest
rhel2Guest
sles12_64Guest
sles11_64Guest
sles11Guest
sles10_64Guest
sles10Guest
sles64Guest
slesGuest
centos7_64Guest
centos6_64Guest
centos6Guest
centos64Guest
centosGuest
debian10_64Guest
debian10Guest
debian9_64Guest
debian9Guest
debian8_64Guest
debian8Guest
debian7_64Guest
debian7Guest
debian6_64Guest
debian6Guest
debian5_64Guest
debian5Guest
debian4_64Guest
debian4Guest
opensuse64Guest
opensuseGuest
asianux7_64Guest
asianux4_64Guest
asianux4Guest
asianux3_64Guest
asianux3Guest
fedora64Guest
fedoraGuest
oesGuest
oracleLinux7_64Guest
oracleLinux6_64Guest
oracleLinux6Guest
oracleLinux64Guest
oracleLinuxGuest
ubuntu64Guest
ubuntuGuest
coreos64Guest
other3xLinux64Guest
other3xLinuxGuest
other26xLinux64Guest
other26xLinuxGuest
other24xLinux64Guest
other24xLinuxGuest
otherLinux64Guest
otherLinuxGuest
darwin16_64Guest
darwin15_64Guest
darwin14_64Guest
darwin13_64Guest
darwin12_64Guest
darwin11_64Guest
darwin11Guest
darwin10_64Guest
darwin10Guest
darwin64Guest
darwinGuest
freebsd64Guest
freebsdGuest
os2Guest
netware6Guest
netware5Guest
solaris11_64Guest
solaris10_64Guest
solaris10Guest
solaris9Guest
solaris8Guest
openServer6Guest
openServer5Guest
unixWare7Guest
eComStation2Guest
eComStationGuest
otherGuest64
otherGuest
vmkernel65Guest
vmkernel6Guest
vmkernel5Guest
vmkernelGuest

Why are these missing?

0 Kudos
LucD
Leadership
Leadership

Which ESXi 7.0.3 build do you actually have?


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
ToreUthus
Enthusiast
Enthusiast

ToreUthus_0-1653048096975.png

 

0 Kudos
LucD
Leadership
Leadership

Btw, not all you ESXi nodes under your vCenter need to have the Windows 2019 guestid available.
I have some ESXi nodes under my vCenter that do not (yet) support Windows 2019, but I can still create VMs on the ESXi nodes that do.
There is no vCenter "feature" I'm afraid.

Check if 2019 is available on some of your ESXi nodes.
Adapted, not just copied, from the same code a previous reply included.

 

Get-View -ViewType HostSystem -PipelineVariable esx |
ForEach-Object -Process {
  $viewObjEnvBrowser = Get-View -Id (Get-View -Id $esx.Parent).EnvironmentBrowser
  $vmxver = ($viewObjEnvBrowser.QueryConfigOptionDescriptor() | Where-Object { $_.DefaultConfigOption }).Key
  $viewObjEnvBrowser.QueryConfigOption($vmxVer, $esx.MoRef).GuestOSDescriptor |
  where{$_.FullName -match "2019"} |
  Select @{N='VMHost';E={$esx.Name}},FullName,Id
}

 

 

And no, I don't need points, kudos, your sympathy, ... 😁


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

LucD
Leadership
Leadership

That is the same ESXi build I have on some ESXi nodes where I can use the Windows 2019 guestid.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
ToreUthus
Enthusiast
Enthusiast

And what do you get when you lists the available guestID's?

0 Kudos
LucD
Leadership
Leadership

Did you already try leaving out the HardwareVersion parameter while using PowerCLI 12.6?


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos