Version 1.0 (Date: 05/April/2016)
In the second post of my let’s learn series I will try to summarize useful links, classes, lectures and recommendations for getting started with PowerCLI.
As described in my why learn #PowerCLI post, I realized during my daily job that many students/ customers are not familiar (or feeling confident enough to deal) with VMware’s PowerCLI (even though it is so so powerful). Since I know which boost it had on my VMware operational skills, I wanted to start this collection to give people a good starting point to get from $null to $pro.
Powershell fundamentals
PowerCLI is a collection of modules that add additional CMDlets (commands that ‘do something’, e.g. New-VM) to Microsofts famous Powershell (a .Net based Shell for Windows where even Linux-junkies get jealous from time to time).
Before you can start with PowerCLI you need to know basic concepts of programming (variables, objects, loops, conditions) and the implementation within Microsoft’s Powershell. Don’t get panic (or AAAAANNNNNGSSST) right here. Those concepts are not that complex as you might think once you force yourself to learn, whiteboard and think about them (trust me… it won’t hurt ;-) ).
I personally recommend the following sources for getting started with Powershell.
-
Windows Powershell free ebook (check the first chapters 1 – 4) by MVP Keith Hill. Keith did a great job in offering this free ebook with basic concepts of Microsoft’s Powershell. A very good start into this world in written form.
-
Windows Powershell Book by Veeam. Backup, Party and Replication specialist Veeam has offered a great ressource for getting a start with Powershell as well. The ebook is written by Jeffery Hicks and can be downloaded after passing some contact information to the sponsor.
-
Many of us know the great e-learning series Pluralsight is offering (kudos for the #vExpert subscription) and once again they have a great Powershell intro class if you want to gather the knowledge in a ‘motioned’ way.
After going through, understanding and practising those materials you should be able to put more effort into PowerCLI itself.
PowerCLI fundamentals
Simplified spoken PowerCLI abstract the complex vSphere API into simple-to-use Powershell CMDlets. To start your first circuits within the PowerCLI environment, I recommend you the following sources (and a read-only account to test your skills).
-
There is no better start to get started with PowerCLI (interesting wording) than the Hands-on-Labs (HOL). VMware’s HOL gives you the chance to get first hands-on experience on a various set of VMware’s and Partner’s products. It offers you a temporary and free remote environment with a concrete lab manual to solve pre-defined tasks. I was pretty glad to see that PowerCLI has gained a dedicated lab. Use it to get in touch with VMware’s automation product. Just search for
HOL-SDC-1607 From Beginner to Advanced Features with PowerCLI
From Beginner to Advanced in 60 minutes? Sounds like sales-magic, but in fact it is worth the time.
-
Once you have learned the basic usage of PowerCLI, check and scroll through the official reference to get a feeling what cmdlets are available and try to get familiar of how to read the definitions about the described CMDlets (type, required, pipeline input, etc.).
-
Read through the PowerCLI community. Check the problems of users and try to understand the suggested solutions. Reading through communities is a very powerful way to get better and better within a field. But still… getting our hands dirty is better than reading… create projects, think about tasks you solve currently manually and try to optimize your doings (maybe with the help of the community).
-
Robert vdNieuwendijk has written a good book about Learning PowerCLI. If you are a friend of a good old printed book (or digital ebook). Check this one out.
-
Check out the great session about PowerCLI held by Alan Renouf and Luc Dekens in 2015 during VMworld 2105. PowerCLI Automating everything VMware with PowerCLI on youtube
-
Even though VMware’s Optimize & Scale class offers only 1 module about PowerCLI (1.5 hours) I can highly recommend this class get a better knowledge about vSphere performance and to get some first hands-on experience with vSphere’s PowerCLI.
PowerCLI Advanced
If you have masted the resources mentioned above (and finalized your own smaller projects) you are ready to go through the following material. A few of those resources are not meant to explain you anything about PowerCLI’s basics. They are giving concrete solutions, hints or patterns to solve specific problems
-
VMware vSphere PowerCLI Reference: Automating vSphere Administration 2nd edition
-
VMware vSphere PowerCLI Reference: Automating vSphere Administration 1st edition. Both editions of the books give you good samples and code about how to solve specific problems. The are also giving you a good starting point if you want to know how to access the vSphere API in case that PowerCLI does not offer you a CMDlet you are needing.
- Once again Pluralsight offers you an old but gold selection of more advanced PowerCLI videos.
This should be enough ressources for you guys out there to get more experienced within the PowerCLI world. Have fun! If you have any useful ressource I should add: drop a comment or mail/tweet me.