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

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

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

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

Horizon Workspace – Offline Upgrade – v1.5 to v1.8

horizon-3After upgrading several different environments to Horizon Workspace 1.8, it’s become clear to me that the “offline upgrade” feature is something that should be used whenever possible. Maybe it’s just the environments I’ve worked in, but going from 1.5 to 1.8 takes much much longer than going from 1.0-1.5. This guide is intended to help you accomplish an offline upgrade from 1.5 to 1.8, while having a plan to restore to 1.5 in case of a failure. This is the fastest process I have found to perform the upgrade. Even with these measures, I’d plan on getting a 4-5 hour outage window for a production environment (2 connector, service, gateway, data virtual appliances)

Continue reading

VMware Horizon Workspace – Part 3 – Configure VMware vPostgres External Database

In this post I’ll show in detail how to configure Horizon Workspace to use an external database during the install process.  This post is part of a series showing how to configure VMware Horizon Workspace in a production environment. You’ll need an external database to have multiple service virtual appliances, so this should be a requirement for your environment.  This process was suprisingly not trivial for me, however it could have something to do with the fact that I haven’t used postgres sql in the past.

Continue reading

VMware Horizon Workspace – Part 2 – Configure Nginx as Frontend with Microsoft CA

So yesterday, VMware released Horizon Workspace 1.5. HUGE improvement over the GA release… Holey smokes. Any further tutorials will reference this version.

Anyways, more to the point. In this post I will demonstrate how to do a base configuration of Horizon Workspace using an internal Microsoft Certificate Authority with Nginx as a frontend. This setup is only acceptable for setting up workspace in a lab environment, since in a production environment you’ll need a trusted third party cert. Doing this in a lab environment is important because it will allow you to set up and test every feature you’ll be using in a production environment.


  • Microsoft Active Directory Certificate Services
  • Linux Machine running Nginx
  • Horizon Workspace 1.5 Downloaded and installed with no configuration.
    • We’ll be using the workspace FQDN of hzn.test.in (This obviously assumes the domain of test.in)

Continue reading

VMware Horizon Workspace – Part 0 – Intro

I’ve been working with Horizon Workspace since it went GA in March. At this point in time, I’m happy to say that I’ve got Workspace set up in a production environment.

In this series, I will be covering how I configured each part of this suite. I would expect that this process will become exponentially easier as time goes on. One thing to note is that I will write these posts assuming that you are at least moderately familiar with linux and Workspace. I will not go into details on how to install packages, deploy the VA, use the web interface. Use Google if you’re looking for that boring stuff 🙂 Here we go!

Continue reading