Tag Archives: Automation

Whenever I create databases with information like ESXi Versions, vCenter Versions or VMware's HCL I try make these available to be used for automation or in scripts. JSON is my data-type of choice but I figured that another structure might be easier to handle in some circumstances. This is why I've now created separate versions where it is now possible to access the information with keys.

For a healthy vSphere virtualization infrastructure and to receive support from VMware it is important to verify that IO devices are listed in VMwares Compatibility Guide/Hardware Compatibility List (HCL) with their correct driver and firmware version. Gathering firmware details and comparing them to the HCL is very time-consuming. I made a small script that automatically gathers the following information:

For a healthy platform and to receive support from VMware it is important to verify that all IO devices are listed in VMwares Compatibility Guide or Hardware Compatibility List (HCL) with their correct driver and firmware version. The HCL is currently only provided as a website which is a problem for automated reports. Therefore I've transformed the VMwares IO Devices HCL into the JSON format, which works great in scripts. Here is the result:

A few month ago I created a VMware HCL in JSON Format. This file should allow you to use the information provided by VMware in their HCL in an automated way. Recently I made some improvements to the JSON HCL and created a working PowerCLI function that can match about 80% of all systems.

Currently, the JSON files are generated every 2-3 days. I also created two filtered versions because the full HCL is very large and contains outdated information:Read more »

PowerCLI, a set of PowerShell extensions for vSphere, is a great tool for automating VMware configuration and management tasks. It allows you to change a lot of ESXi host and vCenter settings. A powerful cmdlet is Get-EsxCli which allows you to run ESXCLI tasks from your PowerCLI console. ESXCLI is the main configuration command on an ESXi host.

This post explains how to use the Get-EsxCli cmdlet with the new V2 interface, which is much more intuitive than the old method.

Based on Microsoft PowerShell Core which enables users to use PowerShell on Linux, Mac and Docker, VMware has started to make PowerCLI compatible with the new PowerShell. This allows to run scripts that were previously only available for Windows on Linux or Mac based systems.

Announced in my VMware HCL in JSON Format post a few days ago, here is now a working version of my script. The script does not create a fancy report at the moment, it just writes some output and the result. It's only intended to show that it actually works. Here is an example:

There are still some problems, but especially with HP, Dell or IBM Systems, it produces good results.

It's on my to-do list for quite a long time: Create a Script that checks hardware against VMwares HCL. There are some problems that needs to be solved to automate the process. My main problems are matching the installed ESXi version to the release Level (eg. 5.5 U2, 6.0, 6.0 U1,...), integrating the HCL into a script and matching HCL to the physical hardware.

This is what I can do today with PowerCLI, basically by running "Get-VMHost | Check-HCL":
I'm not sure if anyone is interested in automating HCL checks because I couldn't find any scripts online. If you are interested, nice! I need assistance...

I need a larger pool of hardware information to know how hardware identifies itself. So if you want to support me, please run the following PowerCLI command and send me the output (Just Copy/Paste CSV file contents to my Contact Form, or send me an eMail. I will respond with the output of my script as shown above). If you don't want to disclose your hostnames, just remove the "Name" part in the command, or replace the content with dummy-names.

Out of many reasons, I need VMware ESXi version information in a format that can be reused in scripts. I maintain a manual list since a couple of years but this list can't be used for automation purposes. VMware does not provide this information in the required format, so I created my own database which is now also available as JSON file.

I've also written a small script to demonstrate what this information can be used for.Read more »