I’ve been using, and continuing to learn, Windows PowerShell for a while now. While I’ve used various resources to promote my learning and understanding, I had never sat down and actually read a PowerShell book, front to back. Well, now I have.
While I knew upwards of 95% of the content, I went ahead and read Learn Windows PowerShell in a Month of Lunches by Don Jones and Jeffery Hicks. I have followed both authors in the past and was certain this would be a good title to start with—it was. In fact, being familiar with these two authors was why I was able to recommend this title, even long before I read the book myself. A bit backwards perhaps, but undeniable true. It’s a wonderfully, comprehensive guide to getting started with Windows PowerShell. As stated by Bennett Scharf, on the back cover, this in fact will be an extremely useful reference. With a generous and complete index, I will be able to easily pull up the concepts I read about in this book, whenever necessary.
Besides being able to say I’ve read the title (and with a good conscience, get it signed by the authors at the PowerShell Summit North America 2015 in April), I wanted to make sure that my method of learning PowerShell was in fact complete. I’ve learned PowerShell by reading help files, blogs, and articles posted to Twitter, as well as, trying things in the shell (this is key), and helping people on PowerShell forums. Even so, I wanted to be sure I hadn’t missed some of the fundamentals. I know many of the ‘hows,’ but was worried I may have missed a ‘why’ along the way. Like, why does it (PowerShell) do it this way?
My first, favorite part was the discussion on pipeline parameter binding. Parts of that topic never just came to me, and it is a concept that requires a complete understanding. The fantastic explanations in the book (chapter 9) have helped ensure I won’t have any questions about this concept again. After all my non-book learning, I never once read anywhere that you can only have one ByValue per cmdlet, even though it makes perfect sense as to why.
The second part that I greatly appreciated was the Regex (Regular Expressions) review. For whatever reason, I have the hardest time cementing these in my mind, and often find myself in need of a quick review. Knowing this book will spend all, or most, of it’s life after this weekend sitting with me at the office, will allow me to get a quick refresh when that’s required. It can be a scary concept for many, and this book laid it out in a quick and calm approach. I wish I read this the first time I was introduced to Regex. No kidding, but I folded down the top corner of this page—something I just don’t do to my books.
In the end, I will continue to recommend this book to people starting out with PowerShell. It explains PowerShell from the start, up to your first parameterized script. I had already purchased the toolmaking followup, Learn PowerShell Toolmaking in a Month of Lunches, even before I started this one, and plan to start reading it tomorrow. I left my copy in my office and so, sadly, I couldn’t start sooner.