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

Exchange 2010 – Bulk Mailbox Migration In Batches

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

Register VMware Workspace as a Cloud Storage Provider in Office 2013

I was lucky enough to spend the previous week in New Orleans, LA at Microsoft TechEd. I had a great time checking out the latest and greatest that our Redmond buddies are about to throw our way or has already tossed.

I spent the majority of my time focusing on Sharepoint 2013 and Exchange 2013, but I was able to spend some time focusing on the client side of things as well. One thing in particular that stood out to me in this area is how Microsoft is putting a lot of time and development into making their clients “Cloud Friendly”.  Office 2013 is the first version that fully supports cloud storage providers.

Microsoft has graciously strategically provided us with built in compatibility with Skydrive. While this makes things easy to get things up and running, it makes any IT Admin experience a combination of nausea, anger, and anxiety.  If you’re fortunate enough to have a sponsored, approved, supported cloud storage solution, you’ll undoubtedly want to use it.

I’ll show you how to accomplish just that in this post.

Continue reading

Use PowerShell to Update Specific AD User’s Description Field with Last Login Time

I encountered a challenge today that was fun to fix.  There’s an Organizational Unit in my AD setup that has historically been used to store disabled AD objects instead of deleting them.

When an employee leaves the organization, our standard procedure  is as followed:

  1. Disable User Object
  2. Move to separate OU (IE AD://internal.msd/disabled/users)
  3. Update Description field with something like: Disabled by [username] on [date]
  4. Retain user object for x amount of days, then tombstone it.

Best laid plans of mice and men… yada yada…

Continue reading

Monitor NetApp SnapMirror via Solarwinds Server and Application Monitor

So yesterday I talked about using a Powershell script with in Solarwinds to monitor volume sizes. Using the NetApp Data ONTAP Toolkit, we have the ability to do monitor a lot of different things, and track the information using Solarwinds. In this post I will show how to monitor SnapMirror relationships using Solarwinds.

Continue reading

SSH Auto Login Using Putty

I once had a person tell me that the most successful individuals in IT are lazy.  Years after hearing that, the notion has stuck with me and translates into much of how I attach problems.

If you’re like me, you use putty to connect to servers via SSH frequently. Now, I know that you can use key based authentication using puttygen, but in the scenario that you don’t want to go that route, you can use the method below to create windows shortcuts to automatically log into a host using putty.

Continue reading