Back in March I received a review copy of Adam Bertram's book, PowerShell for Sysadmins. I immediately tweeted about it and made a smart-arsed comment about treating the timing of my review as a measure of my reading speed.
No Starch Press provided a copy of "PowerShell for Sysadmins" for the purpose of review. Beyond that this post isn't sponsored and thoughts are my own.
Of course, this was only a week or so before New Zealand went into COVID-19 lockdown. To be frank, my ability to focus on most things, let alone reading, was completely zapped during that time. Only in the last month have I been able to get back to the book and give it the attention it deserves.
Who's This Book For?
There's a clue in the title, this book is for sysadmins. More specifically, this book is for those working in some facet of IT that're wanting to start automating away the boring, repetitive, and time-consuming parts of their job.
The book is full of real-world examples making it suitable for someone that learns from getting hands on. They'll be able to follow along, get their hands dirty, and get tangible results right away.
It does also try to be a book for absolute newcomers to PowerShell, but... well let's not spoil the review itself.
Stop Stalling, Review the Book Already!
If you're looking for a tl;dr: this book is great, and I personally wouldn't hesitate to add it to a bookshelf of technical books.
There's a bit of a caveat behind that statement. As I hinted in the preview section, this book attempts to be a resource for those that are brand new to PowerShell. It does an ok job of this... but it's very much not the strength of the book.
Unfortunately, the entire fundamentals of PowerShell are covered in a little over 100 pages. It's aimed too close to "beginner" level to be a boost for those that already have a foundation, maybe in another scripting language, but need a short on-ramp to the specifics of PowerShell. And at the same time, it doesn't go deep enough for someone without a base to work from to really get up to speed from zero.
To be fair, Adam does say in the introduction that if you are an intermediate to advanced scripter that you'll want to skip the first seven chapters.
The problem is, I think the book itself should have skipped those first seven chapters and bulked up the two-thirds of the book that follows it. This would allow the book to be a bit more focused in its audience, sysadmins looking for practical instruction on automating specific tasks who have the fundamentals already.
That all sounds a bit negative, but if you go into this book knowing about it ahead of time I feel like you'll be much happier with your purchase.
So, what did I like?
Considering Adam wrote the book on Pester, I'm not surprised it gets at least a basic intro. There's enough of a "toe-dip" here to allow a sysadmin to get a taste for infrastructure testing without going over the edge into brain melting integration testing.
More people need to know that Pester exists, and not be afraid of it. Just the right amount of it is covered.
The practical chapters cover tasks like (but not limited to):
- Finding accounts with stale passwords in Active Directory
- New account provisioning in Active Directory
- Working with VMs in both Azure and AWS
- Creating an inventory of your servers
The examples and results here are great.
I do wish there were something on Office 365 admin tasks, like account creation, license management, and managing Exchange Online.
The Capstone Project
The book ends with creating your own module to create a lab environment, including everything from spinning up the VMs and installing an operating system, to installing the required features within them.
This project is huge and takes multiple chapters from start to finish.
It is an excellent conclusion to the book, a good challenge for the target audience, and something that could be genuinely useful.
Once again, this book is a great buy. Just be prepared to bulk up your foundational knowledge elsewhere if you're brand new or skip the first third if you've got some scripting under your belt already.
I'm glad to have finally been able to sit down and read this book (yes, I did read the fundamentals section too!), I just wish I could have done it like... half a year ago.
I've already got people at work who're the perfect audience asking to read this when I'm done so this "review copy" might just end up becoming the "office copy."