Category: Scripting

Thin Provision VMs on Workstation Pro using the vmrun Command

Thin Provision VMs on Workstation Pro using the vmrun Command

Continuing my series on provisioning VMs on workstation pro outside of the GUI, I’ve got a functional script that will create a linked clone using the vmrun command.

It allows you to specify the following options on the command line:

Continue reading “Thin Provision VMs on Workstation Pro using the vmrun Command”

Clone VM in Workstation 15 Pro via REST API using Powershell

Clone VM in Workstation 15 Pro via REST API using Powershell

After posting yesterday about modifying the parent image to allow for hostname changes, I was still looking for something a little more streamlined. I remember reading about the new REST API that is available on workstation, so I wrote a little script to use the Workstation API to clone a VM.

Continue reading “Clone VM in Workstation 15 Pro via REST API using Powershell”

Prompt For A New Hostname on Boot

Prompt For A New Hostname on Boot

I’ve been brushing up on a few technologies in my home lab, and have found myself using VMware workstation for some simple tasks that don’t require a whole virtualized environment. Workstation didn’t set the hostname of my Ubuntu 18.xx VMs properly after they booted. Maybe I’m a little spoiled by guest OS customization or missing something, but either way, I needed a way to quickly spin up a whole VM and have it’s hostname set correctly. It’s definitely not the cleanest, and I realize I would be better off using the Workstation Pro REST API, but I’m not there yet.

Continue reading “Prompt For A New Hostname on Boot”

VMware Powercli – Gather NIC Driver and Firmware Versions from Hosts via vCenter

VMware Powercli – Gather NIC Driver and Firmware Versions from Hosts via vCenter

I recently encountered an issue in vSphere 5.5 where I wasn’t able to change the interface speed on an ESXi host from auto-negotiate to anything else. After a good amount of troubleshooting I was able to determine that this issue was occurring due to the fact that the NIC firmware version and driver version on a blade server was out of date. VMware has a good KB article on how to grab the firmware and driver versions that I followed. However, the problem is that even on the most modest ESXi host that isn’t running 10G to it, you’ll likely have a minimum of 4 NICs on it. This means that you’ll have to enable SSH on every host you want to check, run one command per NIC each of them (or run a one line script that loops through them, but will that really save you time..?). It doesn’t take a very large cluster for that to become a very large endeavor.

This PowerShell script will connect to a vCenter server, allow you to scan all ESXi hosts, or only hosts within a particular cluster, and output the results in object format so that you can manipulate them how you wish.

Continue reading “VMware Powercli – Gather NIC Driver and Firmware Versions from Hosts via vCenter”

Use VMware PowerCLI to Pull CDP information from ESXi Hosts

Use VMware PowerCLI to Pull CDP information from ESXi Hosts

I like having documentation, but I hate creating documentation.  I’ll be the first to admit that I’m slightly lazy at times, however, my own personal preferences for what I’ll call “Effort Allocation”, are not the root of my dislike for creating documentation.  The issue really stems from the fact that creating it is very time consuming, tedious, and usually lower on the priority list.

However, sometimes it’s not you that failed to create the documentation. Consultants frequently fall into this category.

The issue I’m handling here is documenting CDP information from the perspective of ESXi hosts using PowerCLI.

Continue reading “Use VMware PowerCLI to Pull CDP information from ESXi Hosts”

Modify DNS Records via Powershell

Modify DNS Records via Powershell

Over the past few months I’ve been doing a lot of work with VMware Horizon 6. I’m not going to go into details, as VMware has done a great job doing that, plus I’m under a NDA. Suffice to say, details that have been provided suffice if you’re just looking for info.

In my company sponsored lab environment, I have HWS 1.8 deployed in feature/option parity compared to production. Deploying a second instance of HWS (perhaps a pre-release version), is challenging, due to DNS/Reverse DNS Checks that are done.

Anyways – the reason you’re probably here is to find out how to systematically modify DNS records, so here ya go!

Continue reading “Modify DNS Records via Powershell”

Powershell – Provision NetApp Volume as NFS Datastore to vCenter

Powershell – Provision NetApp Volume as NFS Datastore to vCenter

powercli-iconFor anyone that’s ever been through the process of provisioning a new datastore to multiple ESX hosts, you know it can take some time. Below are the steps I use

  1. Create Volume on NetApp
  2. Set Security Style to Unix
  3. Enable Storage Efficiency
  4. Set NFS Export permissions to allow Read/Write + Root Permissions to all applicable hosts
  5. Mount datastores on ESXi hosts

For a handful of hosts this is fine, but adding it to anything more than 4-5 hosts is reaaally painful in my experience. Below is a script you can use to take care of these steps in one swipe.

Continue reading “Powershell – Provision NetApp Volume as NFS Datastore to vCenter”

NetApp: Get Statistics from Multiple Filers With One Command

NetApp: Get Statistics from Multiple Filers With One Command

Does anyone actually find NetApp OnCommand System Commander to be fast enough for normal operation? I’ll admit, I still create a good amount of Volumes and LUNs using it, but it leaves a lot to be desired in the performance category.  If you follow my blog at all, you know that I’m in the middle of a migration from a non-ha exchange environment to a DAG. Being the sensible admin that I am, I have multiple copies of my Exchange databases on different storage arrays, controlled by different NetApp filers. Using System Manager to monitor the space usage of the Volumes hosting my mailbox databases is way to slow for my comfort.

Continue reading “NetApp: Get Statistics from Multiple Filers With One Command”

Exchange 2010 – Bulk Mailbox Migration In Batches

Exchange 2010 – Bulk Mailbox Migration In Batches

Update:
I created a new version of this script here
I recently completed a project that involved migrating Exchange 2010 Mailbox role from a standalone server to a Database Availability Group, or DAG. This was a large project that took a lot of time and planning, and had the potential to be very tedious. Fortunately, with a little knowhow, you can automate many of the tedious tasks.

I wanted to be in full control of mailbox migration, so my requirements were fairly strict:

Continue reading “Exchange 2010 – Bulk Mailbox Migration In Batches”

Use PowerShell to get Service Auto-Start Status Along with Human Readable Service Name

Use PowerShell to get Service Auto-Start Status Along with Human Readable Service Name

This falls into the “Come on Microsoft” category.

I have been writing a script that will gather a bunch of information from servers, and returns an object with the information.  Part of what I’m gathering is the servers that are set to auto start, and have their corresponding service stopped.

While you can get a list of services that meet part of this criteria like this:

Continue reading “Use PowerShell to get Service Auto-Start Status Along with Human Readable Service Name”

Copyright VirtJunkie.com © 2020