Over the last few years PowerShell has become the default administration and reporting tool in Windows world. Microsoft products such Active Directory, SharePoint, Exchange, SQL & many more already support management via PowerShell cmdlets, making it more popular.
PowerCLI is a Snap-in to PowerShell, which allows you to manipulate and manage all vSphere objects (including VMs, Templates, PortGroups, Datastores and Hosts. One of the reasons why PowerCLI is so popular in the VMware community is because storage vendors such as NetApp & EMC have also released PowerShell Snap-ins to manage their products. Thus knowing PowerShell gets you a lot benefits.
Who would find this guide useful?
This guide shows you a quick way to learn PowerCLI and in the process also learn a few tricks with PowerShell. The guide does not intend to make you a PowerShell or PowerCLI expert. This is a “getting things done” guide for PowerCLI. It’s a kind of a recipe book that shows you how to do things using PowerCLI. If you know the Pareto’s principle, during the course of next few articles we aim to know the important 20% (or maybe 30%) of PowerCLI (and PowerShell) to successfully complete 80% of our day to day administration tasks.
I am no PowerShell or PowerCLI expert; in fact I started PowerShell just a few months back. A lot of this guide takes inspirations from various PowerCLI blogs. Everything that is mentioned in this guide is out there on internet. I have only aggregated that information at one place, hoping that folks find value in it. If I am successful, then this is the guide that I would have liked to have when I started with PowerCLI.
This guide is intended for administrators who use the vSphere Client for their daily administration tasks. And they would like to learn PowerCLI to increase their efficiency and efficacy. The guide assumes you are an administrator well versed with vSphere infrastructure and the vSphere client.
Although any prior experience with PowerShell is not expected, it would surely help if you have some prior shell scripting background. Although this guide is not meant to be learning tool for PowerShell, we would cover some aspects of it so that the topics are relevant for beginners as well.