Resources For Learning PowerShell

Tuesday, 05 February 2013
  • By
  • Jeff Ammons
  • Tags:
  • Continuous Integration
  • Learning
  • PowerShell
  • Programming
  • Tips
  • Tools
  • Windows

Here are some of the resources I am finding helpful as I learn PowerShell. I hope this list is helpful to anyone who stumbles upon it in their quest to learn PowerShell.


Pluralsight has a number of great courses on PowerShell. That number is growing.

As of this posting the PowerShell specific courses are:

  • Introduction to PowerShell
  • Creating PowerShell Modules
  • Everyday PowerShell for Developers
  • Formatting With PowerShell
  • PowerShell and SQL Server
  • Top 10 Cool PowerShell v3 Features with Windows Server 2012
  • What’s New In PowerShell Version 3
  • WMI and PowerShell
I have viewed a few of them and they were all of high quality. I particularly enjoyed the Everyday PowerShell for Developers by Jim Christopher since it was geared exactly towards what I want to do with PowerShell.

The Intro courses by Robert Caine and Thomas Lee are great as well. They each have a course covering the new bits in PowerShell 3 — one in general and one specifically looking at Windows Server 2012.

In addition to Pluralsight, I have watched a very interesting video by Harald Fianbakken over on Vimeo. This is his presentation Continuous Integration: Char by Char – Powershell. Harald walks us through setting up a PowerShell script that can run on a timer and do the following:

  • Check for changes in source control (he uses Subversion, but Git, TFS, etc. would work)
  • Pull latest changes
  • Use the Psake project to orchestrate the build (it calls MS Build in the background)
  • Run unit tests
  • Deploy project to server
PowerShell is a great tool for use on a build server.

There is overlap between Harald’s presentation and the Everyday PowerShell for Developers course, but naturally the course goes into much greater depth. On the other hand Vimeo is free and Pluralsight requires a subscription. I learned from both, and recommend both.


Most of the books I have read so far have been from O’Reilly books.

I plan to write reviews of several of them, but for now I’m just listing them.

Windows PowerShell For Developers

By Douglas Finke

I have finished reading this one and it is very good. I wish it went into greater depth on Psake and other continuous integration topics, but it does cover them.

I’m not sure I should have read it first, but it held the most immediate interest for me.

Windows PowerShell Pocket Reference, 2nd Edition

By Lee Holmes

I’m currently reading this one and it is very well written and like the other Pocket Reference books from O’Reilly, it is concise and full of handy tips and reference material.

I won’t go into great detail since I plan to review it.

Windows PowerShell Cookbook, 3rd Edition

by Lee Holmes

This looks to be a real winner. The other books in the Cookbook series offer concrete solutions to specific problems solved using the technology in question. I have the jQuery Cookbook, and learned much from it. You can use them as literal cookbooks and use the solutions they provide, but the greater value is that they allow you to see how someone skilled in that technology approaches problems

To be completely transparent, I did receive my copy of this ebook for free as part of the O’Reilly Blogger Review program. If I had not, I would have bought it as I bought the other two books on this list.


I find podcasts a great way to both learn about a topic and motivate myself to learn more.

The PowerScripting Podcast is very well done and engaging. In addition to listening to the latest podcasts, you can also go through their extensive archive of past episodes.

One relatively new feature on their website is a mind-map app that lets you explore the archives based on various categories. Very interesting!

I like listening to their guests who shed light on the uses to which they are putting PowerShell. Some topics are more interesting to me personally than others, but I still like them because I often learn something I might have missed if I had stayed in my comfort zone.