A little while ago we reviewed Mike Pfeiffer’s book “Exchange 2010 PowerShell Cookbook”.
It’s our pleasure to present an interview with Mike, about himself, his book and his views on PowerShell 2.0 and 3.0.
If you have any more questions for Mike, please use the comments section under the article and we’ll make sure to ask Mike to answer them.
· Who are you
My name is Mike Pfeiffer, I’m a sagittarius and enjoy long walks on the beach…Oh, I’m also an Exchange MCM/MVP based in Phoenix, AZ, USA.
· What do you do for a living
I spend my time helping people design and implement Exchange Server and Lync Server solutions as a consultant and technical trainer. I’ve been in the IT field for close to fifteen years now and I’ve been working on Exchange since the 5.5 days.
· Who do you do it for
I work as a technical director and instructor for Interface Technical Training in Phoenix. I deliver classes on Exchange, Lync, and PowerShell, and spend a lot of time developing courseware, building virtual lab environments, and filming training videos. I get work with a bunch of other MVPs, published authors, and ex-microsoft guys. It’s a lot of fun. When I do take on projects, it’s as an independent consultant. I ran my own business for years, but I’ve found that a mix of writing, teaching, and consulting keeps things more interesting.
· Give us a short summary of your career and how you got the be where you are today
Like a lot of people, I started my career doing tech support for the first couple of years. Towards the late 90’s I was doing a lot of support for Exchange and NT4. I got my MCSE on Windows NT4 and landed my first job working for a consulting company. From then on, I really spent most of my career as a migration consultant, focused on AD and Exchange.
· Why did you write the book
The acquisitions editor for the book contacted me through my blog. She basically said “Hey, you’re really proficient with PowerShell and Exchange…how would you like to write a book on it?”. I was actually up at Redmond attending the MCM rotation for Exchange 2010 when she emailed me. Since that challenge was almost out of my way, I figured writing the book would be a good next step.
· Why did you write an Exchange 2010 PSH cookbook as a opposed to a “Generation 1” book on psh
There are just so many cmdlets in Exchange alone that you can’t focus on them all. I liked the idea of a cookbook, because then I could just focus on practical tasks. I knew from my own experience (and watching customers struggle with various things) that I could address a lot of common questions with a problem-solution style book.
· How did you decide what to write about, ie. The content and structure of your book
I decided to focus on the big picture stuff, so I created an outline for the book which spanned the core server roles (CAS/HUB/MBX). I tacked a PowerShell intro on at the beginning, and decided to finish it off with some more advanced stuff at the end with Exchange Web Services (EWS). From there, I focused on the key areas the reader would need to know to be proficient with the most common tasks I could think of. Most of the recipes are straight from my own experience in the field, or address something a customer had asked for or had trouble with.
· What didn’t make the book
There was a lot of EWS stuff that I left out because it just took up too much space. I was near the end at that point and already had gone passed my projected page count. When I signed the book contract, it was only supposed to be 300 pages. It ended up being almost 500. I was able to push the publisher pretty far into letting me add a lot of stuff. There wasn’t a ton of content that got cut.
· If you could write about anything else what would it be
Well, I’m planning on writing a lot more on Exchange 15 and Lync 15. Whether that will be online or in published book form remains to be seen. I haven’t decided yet. I’m toying with the idea of updating the existing cookbook for Exchange 15 once it ships.
· Obviously you work with Exchange, and you’ve written a book about Exchange AND PowerShell, why do you give either technology the time of day, let alone specialize in them.
Well, I’ve been working on them both for so long that, for me, it makes sense. I’ve never had a problem finding work. There’s always someone looking for an experienced Exchange consultant.
· Why PowerShell and not C# or any other language/managed code in general?
There’s more you can do from an administrators perspective with PowerShell, so it just makes more sense. Think about what it takes in PowerShell to read a CSV file. It’s just a single cmdlet. I’m not sure how many lines that would take in C#, but it’s definitely a big chunk of code. It’s just not that efficient for someone who is trying to knock out a task and move on to the next thing.
· What do you want to see in Either Exchange or PSH
I like what I have seen so far with PowerShell v3. I am hoping that administration from the Exchange Management Shell and graphical tools will be much faster. The remoting implementation with 2010 obviously slowed things down and added some annoying quirks. With the improvements made thus far just in Windows Server 2012 and PowerShell v3 I have faith that will see an improvement there.
· What would you like to see instrumented better inside Exchange
I’m really a big fan of the Scripting Agent. There are so many use cases for it. A lot of people use it right now to set global configuration options, or to enable or disable some default setting as mailboxes are provisioned. Being able to execute custom blocks of code on the completion of other commands is pretty powerful. The problem is that right now it’s hard to troubleshoot and debug. I’d like to see that feature extended.
· What do you NOT like in PSH ?
There’s not much I don’t like about PowerShell, but I can say that I despise super long cmdlet names. Exchange has a few, but the worst one I’ve seen is from SharePoint and its called Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition. I’m all for discoverability but c’mon.
· Where do you see PSH going and what do you think about the improvements in PSH 3.0 ?
I think it’s going to change the way people do their jobs. I know it already has for me. I meet people all the time that are just now getting into PowerShell for the first time. Windows Server 2012 reminds me of Exchange 2007 in a way. I remember having doubts early on about the amount of PowerShell integration with Exchange 2007. Now I rely on PowerShell so much that I wonder how I would get anything done without it.