BlogPost Series: LCM of VMware vSphere & HPE Hardware – Scripts & Reporting Tools (Part 3)


We’ve viewed the different tools that help to manage a HPE stack and if and how we could integrate VUM with this. During the project and our research, we found out that it is really difficult to see if the VIBs that are being deployed, are consistent with all the ESXi hosts of the environment. We also saw that this was also the case with Firmware updates from HPE. None of the tools, could show if the firmware was consistent across the environment, and unfortunately, we found out that the tools of HPE often skipped certain upgrades and quite randomly. If there is one thing that is really important with virtualization, then it is consistency across the environment. In this post we are going to discuss how we can check this consistency and go through the scripts that we created to check this.

Consistency & Reporting tools – HPE Firmware

This was an important part of our research, and unfortunately, none of the tools of HPE could generate a report that showed a complete overview of the firmware versions for each component. Also, none of the tools give (accurate) feedback if the upgrade of the components was successful. Since we noticed that the deployment of several SPP’s ended up skipping firmware upgrades for several blades and its components, this became a very and important topic for us. An inconsistent environment can create undesired results, problems and vague errors. Especially when ESXi Updates & Drivers are being checked and matched for compliancy with the firmware level of the hardware. That several firmware upgrades fail or are inconsistent is one thing, but when you are not able to check if your environment is consistent or that the upgrade was successful then it becomes a huge problem.

The cool part though, is that we found a way to check the firmware consistency by using a PowerShell script and some PowerShell modules and functions from HPE. Unfortunately, even though I could help my customer greatly with this script, I’m currently still in discussion if I get the permission for making this script public. However, if you’re reading this, then it is already worthwhile to know that HPE has access to this script or has the ability to create a script for you. So, if you are under HPE support and you use OneView, definitely contact support for providing you with a solution. Because in my honest opinion, this should be a standard feature for such a tool. In the meantime, I’ll try to see if I can publish the script. Another side note is that the script only works with certain versions of OneView. This means that every time you upgrade OneView, you can potentially break the script. I know, not ideally.

*Update: Unfortunately, I am not allowed to share this script since it uses internal HPE resources. Still, I do think that this should be part of your tools if you want to manage an environment with HPE hardware. Otherwise, keeping your firmware in check & consistent will become an absolute nightmare, especially if you’re an enterprise. Maybe a harsh statement, but that’s just the way it is. So definitely ask HPE to support you in this.

Consistency & Reporting tools – ESXi Updates & Drivers

Similar to HPE, this was also an important part of our research. With VUM you can check for compliancy by defining a baseline. This works great for the general ESXi updates, but not for checking driver or vib versions. Especially, if you want to know if the environment is consistent. Luckily, powercli is something that is quite open, and with the support of the community, Kabir Ali & I were able to create 2 script that would help with this important topic. Both scripts will create an output file, and by converting it to excel and applying a filter, you can easily get a good overview of what is happening in your environment and how consistent it is.

I will try to explain the thought process of the two scripts in this blogpost. However, I can totally understand if this is still difficult to follow. I will therefor try to make a future video that will help you to understand how these 2 scripts can help you to manage your vSphere environment.

Script: vSAM.Pro-TheVibReporter-AIVs.ps1

The first script creates a complete overview of all the vibs that each host has installed and the version that comes with it. This script can also run towards multiple vCenters. This way, all the information will be exported in one simple overview. The cool thing about this export is that you literally see everything. And by applying filters in Excel, you can see easily for each vib package, if there are multiple versions being used within the vSphere environment and if so, which ESXi host needs to be addressed. In a certain way, this already shows IF the environment is consistent. However, by only checking if there are different versions for each vib, is not enough to be completely sure that the environment is completely consistent. It is still possible that someone installed an undesired vib package on an ESXi host. Checking that vib package can still give you one version option in the excel output, but that doesn’t mean that other hosts are also using it. It is also not really easy to view each vib package one by one for version differences. So, for that we created a 2nd script.

First Script can be downloaded here:


Script: vSAM.Pro-TheVibReporter-RefC_C.ps1

In the second script, we’ll make use of a reference host. The Reference host is the host that should be exactly how you want the whole environment to be. This can be done in two ways. One way is to define your Reference Host explicitly. The other way is that the script will select the ESXi hosts “randomly”, which is the default in the script. The output of the script will show which reference host has been used. Once you have defined the Reference host, the script will check for each ESXi host if it has vibs with a different version. It will also check if there are hosts that have vibs that are not on the reference host, or if there are hosts that are missing vibs from the reference host. The output, will only show the things that are divergent. By combining these two outputs together, will help you to quickly locate inconsistencies, but also give you a form of overview.

Second Script can be downloaded here:


As I said earlier in this post, if you found this difficult to follow I can totally understand. I will try to cover the procedure in a future video. In the meantime, playing around with these scripts, can probably also help. Now that you know the thought process, you can start downloading these scripts and fiddle with it. A special thank you note towards Kabir Ali, who was a big contributor towards this script.

Alright Have fun.

↑↑ Follow me on my Socialz ↑↑ - Or - ↓↓ Care & Share ↓↓

Leave a Reply

Your email address will not be published. Required fields are marked *

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