Book Image

PowerCLI Essentials

By : Chris Halverson
Book Image

PowerCLI Essentials

By: Chris Halverson

Overview of this book

Have you ever wished you could automatically get a report with all the relevant information about your VMware environments in exactly the format you want? Or that you could automate a crucial task that needs to be performed on a regular basis? Powerful Command Line Interface (PowerCLI) scripts do all these things and much more for VMware environments. PowerCLI is a command-line interface tool used to automate VMware vSphere environments. It is used to handle complicated administration tasks through use of various cmdlets and scripts, which are designed to handle certain aspects of VSphere servers and to help you manage them. This book will show you the intricacies of PowerCLI through real-life examples so that you can discover the art of PowerCLI scripting. At the start, you will be taught to download and install PowerCLI and will learn about the different versions of it. Moving further, you will be introduced to the GUI of PowerCLI and will find out how to develop single line scripts to duplicate running tasks, produce simple reports, and simplify administration. Next, you will learn about the methods available to get information remotely. Towards the end, you will be taught to set up orchestrator and build workflows in PowerShell with update manager and SRM scripts.
Table of Contents (13 chapters)
PowerCLI Essentials
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Quality control, consistency, and simplification


Although this is not the most exciting of sections, quality control, verification testing, and error handling are the most important areas of any script. Without testing and error handling, attempting to explain that the PoSH text in red is okay and the errors shown are normal, over and over, makes the perception of the script, for lack of a better word, bad. This section discusses the flow of the script, preparing what is expected and planning for what is not.

Revisiting documentation

Going back to the documentation is extremely important. Highlighting, as it is written, that the #Gathers information to be used for building the VM later on function is good but writing that Function X is for #decision processing and that the VMName Record is #the name of the VM is better.

Now, our function is given as follows:

<#This function gets a list of VMs and searches for the VMs with a V in the name#>
Function Gather-VmsWithAV ($VMlist) {
  #Loop...