A script to detect BIOS-enabled virtual machines in VMware vCenter.
This script is an idea that spun off of my previous post, PowerCLI: Find UEFI-Enabled VMs. If you’re preparing to enable Secure Boot in a VMware environment, it may be helpful to identify the VMs that cannot be upgraded. As you might recall, enabling secure boot requires the following:
A script to detect UEFI-enabled virtual machines in VMware vCenter.
With all the news regarding the Spectre and Meltdown CPU vulnerabilities over the past several months, there’s been a greater focus to get VMware virtual machines to virtual hardware version 9 or higher, as noted by Andrea Mauro’s post regarding these vulnerabilities. In addition to that, several companies and organizations may be looking to enable Secure Boot, a feature first introduced with vSphere 6.5. However, in order to enable secure boot, the virtual machine needs to be configured with both EFI boot firmware AND be on virtual hardware version 13 or higher. Continue reading “PowerCLI: Find UEFI-Enabled VMs”
Earlier this week, someone on our team received a request to change a VMware virtual machine’s NIC from e1000 to VMXNET3. While the change was a bit manual in nature due to the Guest OS configuration changes, it got us thinking… How many other VM’s might still have e1000 NIC adapters? So, I started working on a script to find out. Continue reading “Finding NICs That Aren’t VMXNET3”
A quick follow-up to my experience presenting at the recent Western PA VMUG.
Hello again, everyone! First of all, I just want to take this opportunity to extend a HUGE “Thank You” to everyone who was able to come out and attend the recent Western PA VMUG! The day was packed full of information, as we got to hear a lot of great presentations about running VMware on AWS, AppDefense, vSphere APIs, and what’s new with PowerCLI. What I like most about these kinds of events is the ability to share, learn, network, meet new users, and catch up with those whom I already know.
As several folks already know, this was my very first time presenting at a VMware User Group meeting. Sure, I was a little nervous at first, but once I got up to present, things just seemed to flow. For me, it was reassuring to know that many in the audience were VMware customers who may have been in my shoes at one time, or perhaps still are. You never know. Although my presentation was mostly focused on some recent PowerCLI scripts I had developed to automate and simplify repetitive tasks, I also talked about my personal journey from avoiding scripting to actually doing it. And in my presentation, rather than just showing lines of code on a screen and explaining what the script does, I highlighted the workflow and thought process behind why I scripted it the way I did. Continue reading “Western PA VMUG Follow-Up”
So, as you can probably tell from my past couple of posts, I’ve been spending a bit of time working with PowerCLI to script and automate several tasks for managing VMware environments. My most recent script combines four tasks I seem to do often when performing cluster-wide maintenance; Enabling and Disabling both SSH and Lockdown Mode. This was actually one of the scripts I discussed at the recent Western PA VMUG meeting held on October 20, 2017.
In this script, like many of my other scripts, it asks the user to enter the vCenter server to connect to, as well as the cluster to work with. Then, the user is presented with five options:
- Enable SSH
- Disable Lockdown Mode
- Disable SSH
- Enable Lockdown Mode
Continue reading “PowerCLI: Enable/Disable SSH and Lockdown Mode”
I recently built out a new VMware cluster, and in doing so, needed to configure the NTP servers for each host. While this can certainly be done manually, it’s very repetitive and opens up the possibility of missing or misconfigured setting. Fortunately, there’s a way to automate that using PowerCLI!
Now, the way I wrote this script makes it a bit more interactive for the person running it. Typically, you could just define the NTP servers you want to remove, the ones to want to add, and let it run. With this script, it asks the user several questions along the way. Questions like, “What vCenter do you want to connect to?”, “What cluster do you want to scan?”, “Do you want to remove all existing NTP servers? [Y] / [N]”, and so on. There’s also validation included on the responses to the Y/N questions. And at the very end of the script, it checks the NTP services on each host in the cluster. If the NTP service is already running, it will restart the service. If it’s not running, it will start the service. All automatically. Continue reading “PowerCLI: Add/Remove NTP Servers in a VMware Cluster”
Hello again, everyone! Recently, I’ve been working on a script that will create new VM Port Groups on a virtual standard switch (vSS) in a given cluster. While this could probably be alleviated by using a virtual distributed switch (vDS), let’s assume that you have a need to stick with vSS for whatever reason (licensing, company standards, etc.).
In this script, it validates that the VLAN number is in fact a whole number within the range of 1 through 4905. At the end of the script, it asks if you’d like to add another port group to the same cluster or not. I found this to be very handy if you’re standing up a new cluster that only contained vSS, or simply adding more port groups to an existing cluster. Continue reading “PowerCLI: Create New VM Port Groups in a Cluster”
Let’s say you have a LUN ID that you clearly know is a RDM. How do you determine what virtual machine is associated with that disk?
Recently, I was prepping a cluster for routine ESXi patching. As part of my preparation, I scanned the cluster for RDM disks first to ensure that they were set to Perennially Reserved = True. After doing the RDM scan, I found a cluster that had a single RDM disk, but didn’t know which VM it was associated with. Although VMware has a Knowledge Base article (KB2001823) on how to do find RDM’s and which VM’s they’re associated with, it looks like it will find all RDM’s and VM’s across the entire vCenter Server. Since I know the cluster, and I know the RDM LUN ID, I wanted to narrow down the results for my particular needs.
Continue reading “PowerCLI: Find a VM Based on RDM’s LUN ID”
Let’s say you want to build a new VMware Fusion virtual machine using the newer UEFI firmware instead of the traditional BIOS. How is that done in VMware Fusion? Unlike VMware Workstation and ESXi, there’s no GUI-based option to choose EFI over BIOS (at least as of this writing). So, I decided to put this post together to walk you through the process. I should also point out that this needs to be done before an operating system is installed to the VM.
If you’re not sure what the differences are between UEFI and BIOS, How-To-Geek has two great articles that explain how newer UEFI firmware differs from traditional BIOS; “What Is UEFI, and How Is It Different from BIOS?” and “What You Need to Know About Using UEFI Instead of the BIOS.”
Continue reading “Creating a UEFI-Enabled VM in VMware Fusion”
In this blog post, we’ll take a look at how to setup and install a brand-new virtual machine using VMware Fusion. For this post, I’ll be installing a fresh copy of Microsoft Windows to use as an example, but these same steps should apply to just about any operating system. Let’s get started!
Continue reading “Building a New Virtual Machine in VMware Fusion”