Recently I had to grab some general info on a group of VMs in a particular folder within vSphere. Typical stuff like, Guest OS, # vCPUs, RAM, Disk, etc. I looked around my scripts folder as I was sure I had written a small script to accomplish this task previously but came up empty. No problem, I’ll just whip something up I thought. Then my mind starts racing, will the script output to csv? html? Excel? Word? I could include all options (and code) and let the user choose? What parameters will I need and how will I validate them? This script was getting cumbersome already and I hadn’t even thought about the simple info I needed to query. Then it dawned on me…all I needed was the data. I decided to strip the function down to simply gathering the information I needed. If I wrote a proper advanced function, then I could just return the gathered objects down the pipeline and from there format the output as needed.
Simply put, an advanced function acts very much like a standard cmdlet.
As a VMware admin there are a plethora of tools to assist you in gaining visibility into your virtual environment. I’ve seen folks layer on three or four tools at a time in an attempt at getting the best insight into what is going on under the virtual covers. Some of these tools excel in different areas though I have rarely found one that fits all needs. Almost all will have some sort of alerting capability to let you know when something has gone south and many of these products cost in the tens of thousands of dollars.
If there was one tool that was an absolute must have for me – vCheck – hands down.
And the best part? It’s free!
Now, vCheck is not going to replace all those shiny, expensive tools but for a single report that gives you an overview of what you are walking into in the morning, it can not be beat.
Changing passwords is always one of those fun tasks for any admin. It becomes even more challenging when your a Windows admin over hundreds of individual servers that are not part of the same domain. Here’s my take on a PowerShell script to change the password of a local user on a remote system (or many remote systems), regardless of domain status.