WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple
You are here: Home / Automation / How to retrieve the default VM hardware configuration for a specific Guest OS in vSphere?

How to retrieve the default VM hardware configuration for a specific Guest OS in vSphere?

03.28.2022 by William Lam // Leave a Comment

Have you ever wondered how or where the vSphere UI generates the default Virtual Machine hardware configuration after selecting a specific Guest OS during the VM creation wizard?


The answer is simply by asking the vSphere platform 🙂 and of course this is provided as an API for any client to consume including our own vSphere UI.

This is a topic I had written about back in 2013 here and here, which demonstrates how to use the EnvironmentBrowser API to query for the list of supported Guest OS and Virtual Hardware Compatibility. In addition to this information, we can also ask the vSphere platform on what are the default hardware configuration for all supported Guest OS using the QueryConfigOption API.

To demonstrate how to use the QueryConfigOption API, I have created two simple PowerCLI function which can be found in this example vmDefaultHardwareConfig.ps1

Before we can retrieve the VM hardware configuration for a specific Guest OS, we need to specify the supported VM hardware compatibility. To do this, you can use the Get-VMHardwareVersion function and specify the desired vSphere Cluster to query this information as shown in the screenshot below.

$ClusterName = "Supermicro-Cluster"
Get-VMHardwareVersion -ClusterName $ClusterName


Once we have the list of supported VM hardware compatibility versions, then we can use the Get-VMHardwareConfig function and specify the desired vSphere Cluster and the VM hardware compatibility version to retrieve the list of all Guest OS and their default hardware configurations.

$results = Get-VMHardwareConfig -ClusterName $ClusterName -VMHardwareVersion "vmx-19"
$results


The results from the function is an array of all Guest OSes and you filter the results further by keying off of the Id or FullName property.

Categories // Automation, ESXi, vSphere Tags // guest os

Thanks for the comment!Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • VCF 9.0 Hardware BOM for Silicon Valley VMUG 07/18/2025
  • Clearing resource locks with VCF 9.0 Installer 07/17/2025
  • Workaround for single NIC using NFS storage with VCF 9.0 07/15/2025
  • Quick Tip - Updating Firmware on Minisforum MS-A2 07/14/2025
  • Ultimate Lab Resource for VCF 9.0 06/25/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...