You should be aware that I’m not actively writing about PowerShell anymore. But, I do keep the information here up-to-date. If you’d like to check out some of my newer work, just head for the home page.
Jeffery Hicks and I have collaborated on what we feel are the definitive books for learning PowerShell. These books have proven hugely popular, and have helped tens of thousands learn the shell the right way. We keep them easy to read, relevant, and real-world.
Not sure where to start?
My free Become Hardcore Extreme Black Belt PowerShell Ninja Rockstar is a fun, quick self-administered quiz that’ll help you figure out where you are and where you should go next.
For the total beginner
If you’re a total beginner, and maybe not even sure what a “server” is, start with Don Jones’ PowerShell 4N00bs, which Don authored solo.Focused on PowerShell Core, this book will give you the absolute basics, and get you ready for more advanced books on the topic. After reading this, move on to the next book on this list.
Moving into practical work
If you’ve got some server administration experience under your belt, or you made it through the 4N00bs book, then grab Learn PowerShell in a Month of Lunches (presently in its 3rd Edition). This is the starting point, where you read a chapter a day and learn how to use the shell the way it wants to be used. This isn’t a programming book – this is just the shell as a command-line shell. We cover all the gotchas that you’ll never figure out on your own, and get you positioned to be effective with the shell in just four weeks of reading. This book does focus on Windows PowerShell, not PowerShell (which is cross-platform), but it’s over 90% applicable to PowerShell. You may just find that some of the examples aren’t as cross-platform-friendly.
Note that there’s a newer version that’s been adapted by other authors to align to PowerShell (versus Windows PowerShell).
Building your own tools
Then, move on to PowerShell Scripting in a Month of Lunches (formerly Learn PowerShell Toolmaking in a Month of Lunches; this is a complete rewrite of that book). Even if you have zero programming background, we’ll have you producing automation tools that follow PowerShell’s native patterns and practices. Especially useful for folks who do have programming experience and tend to stray off the path in terms of how PowerShell wants to be scripted. This is an entry level book with a strong focus on patterns, tons of examples, and introductions to the higher-level areas of scripting. 100% applicable to cross-platform PowerShell, although the running examples are Windows-specific.
After that, The PowerShell Scripting and Toolmaking Book will be your PowerShell scripting companion for life. We pick up where the Month of Lunches books leave off, and provide more in-depth coverage beyond the entry-level. This is an Agile-published book, which means we are continually expanding our coverage (three major expansions already!), updating to cover new PowerShell versions, and more – but you only pay one price for that lifetime access to the latest information.
Get the backstory
Shell of an Idea, the Untold History of PowerShell, includes the backstory, unknown stories, and tales of grit and determination that finally brought PowerShell to life – often through seemingly-insurmountable odds. Based on dozens of hours of team interviews, research, and more, written by the same author who wrote the first-ever published PowerShell book.
Learning by mistake
This can technically go anywhere in the sequence, but PowerShell by Mistake is a free, open-source volume that has you look at a common PowerShell mistake, and try to solve it, before offering you example solutions and explanations. It’s a kind of reverse way of learning that works really well for some folks. You can choose to pay whatever you like, with proceeds going to The DevOps Collective.
The in-depth reference
Finally, I always suggest having PowerShell In Depth by your side. Written in conjunction with Richard Siddaway, this book is a reference rather than a tutorial, with more comprehensive coverage of everything the shell can do. The focus is on the administrator (rather than a professional developer, who tends to approach the shell from a different perspective).