PowerCLI: Find VMs Based on Virtual Hardware Version

Hello again, everyone! For my fifth post for this year’s #BlogtoberTech challenge, I decided to share a script I recently wrote that seeks out virtual machines in a vSphere environment based on a specific virtual hardware version. This sort of ties in with the BIOS and UEFI scripts I wrote earlier in the year to seek out VMs that may still be open to the Spectre/Meltdown vulnerabilities (virtual hardware version 8 or older). Or perhaps someone wants to seek out VMs that may be good candidates to enable Secure Boot (virtual hardware 13 or newer with EFI boot firmware configured).

In the initial version of this script, I ask the user to pick the vCenter to connect to, the datacenter object to scan, and then the virtual hardware version to seek out. If VMs of virtual hardware are found, the user has the option of exporting the results to a CSV file. Otherwise, a dialog box will appear (via Out-GridView) that shows the results of the can. If, however, no VMs with a specified virtual hardware version are found, it will simply let the user know that “No VMs with virtual hardware were found.”

As usual, the latest version of this script can be found over on my GitHub page, but here’s the script as it was written at the time of this post:

Continue reading “PowerCLI: Find VMs Based on Virtual Hardware Version”
Advertisement

My Upcoming Central PA VMUG Presentation

Hey everyone! I wanted to spread the word about my upcoming presentation at the Central PA VMUG on Thursday, November 1st in State College! Last year, I spoke at the Pittsburgh VMUG on the topic of PowerCLI and my journey into scripting. This year, I plan on revisiting that presentation with several new updates and maybe even do live demo (assuming I can get my home lab completely set up and configured in time)! Plus, I’m looking forward to catching up with the Central PA VMUG crew as well as meeting many others in the #vCommunity!

For those who may not know, October 2017 was my first time ever presenting at a local VMUG meeting. In fact, I wasn’t really engaged in the VMware Community all that much until about April 2017, when I started my blog and began using Twitter a lot more. Sure, I’ve been using VMware’s products and services since about 2010, but the only real ‘engagement’ I’ve done in the community was attend the occasional VMUG or UserCon.

Continue reading “My Upcoming Central PA VMUG Presentation”

My New YouTube Channel is now Live!

Hey everyone! I wanted to take this opportunity to announce that my brand-new YouTube channel is now live! I’ve mentioned it over on Twitter, but I wanted to spread the word here on my blog, as well. Over the past several months, I’ve had this idea in my mind to start augmenting my written blog content with video content of some kind. My idea is that some people may prefer to read a post with text and screenshots, while others might prefer to watch a video and follow along.

In a previous life, I worked quite a bit with photography and video production, so why not merge that experience with the technology-related content I’ve been putting here on my blog? But, if I’m going to do this video content, I wanted to do it right with quality audio and video. After all, I do have some decent DSLR cameras and lenses that are perfectly capable of shooting video. So, I decided to stop stalling and take a crack at putting my first video together. However, I think the biggest challenge for me is that I’m used to being the oneĀ behindĀ the camera, not the one in front of it!

Continue reading “My New YouTube Channel is now Live!”

PowerCLI: Find VMs with Any Independent Disks

I recently had a request come through to see if there was a way to quickly find any/all virtual machines with Independent Disks attached. In this particular scenario, I’ll be looking for these types of VMs within a specific datacenter object. However, this script could easily be changed to scan an entire vCenter object, if needed. This script will look for VMs with both independent persistent as well as independent non-persistent disks.

Like some of my other scripts, this one also utilizes the try/catch when first connecting to a vCenter Server. For instance, if you attempt to connect to a vCenter and enter the wrong credentials or wrong server name/IP, it will stop the script and state that it “Could not connect to the vCenter Server <name>. In addition, I also have some logic built in to track the progress of the scan, as well as the option to export the results to CSV if preferred.

Continue reading “PowerCLI: Find VMs with Any Independent Disks”

PowerCLI: Quickly Look Up VM’s Boot Firmware Setting

A few months ago, I wrote two blog posts about how to find all UEFI- or BIOS-enabled virtual machines at the data center level within a vCenter Server. But what if you just want to quickly look up the boot firmware setting of a specific VM or even just a few of them?

I wrote this script as a way to quickly look up a small number of VMs to see if they might be good candidates for enabling Secure Boot or not. If you recall from those two posts, in order to enable Secure Boot, a VM needs to have virtual hardware version 13 or higher (meaning vSphere 6.5 or higher), and the VM boot firmware needs to be set to EFI.

Continue reading “PowerCLI: Quickly Look Up VM’s Boot Firmware Setting”