The news that Jeffrey Snover has been promoted to Technical Fellow, the top of Microsoft’s technical career path, is very welcome. Apart from being a really nice guy with a sometimes doubtful taste in ties, Jeffrey goes out of his way to answer questions on Twitter (@Jsnover). But the real reason why I am so pleased for him is that anyone who works with Exchange (on-premises or cloud) owes Jeffrey Snover a great deal, because he is the father of PowerShell.
Nine years ago, when news started to leak that Exchange 2007 would use “Monad” as the basis for automating common administrative operations, the initial reaction wasn’t good. This was puzzling, because anyone who had done anything with Microsoft’s previous attempts to help administrators script against Exchange (like WMI in Exchange 2003) could not have been impressed. Unless of course you were Alain Lissoir, who wrote a couple of pretty good books on the topic (and later ended up working for Microsoft).
WMI was a disaster area when it came to approachability. The early views on PowerShell were that it was worse. We were told that PowerShell brought Exchange 2007 back to the era of UNIX shell programming. People castigated the sometimes quirky syntax and some predicted that the implementation of PowerShell for Exchange would fail just like many other previous attempts to introduce APIs for the product.
Of course, everyone was wrong. PowerShell V1 was an ugly duckling that took off in dramatic style when we all discovered just what you could do with one-line commands, let alone complex scripts. Not that the scripts we wrote in 2007 were anything special. Looking back on them now, they represented faltering steps as everyone got to know just what you could do with cmdlets (how do you pronounce that annoying noun?) and the intricacies of piping. It was a wonderful time of discovery as every week brought another advance as someone found out how to do something new.
In those early days no-one really mastered the production of the mailbox size report. You know, the script where you used Get-Mailbox to assemble a collection of mailbox objects that were piped into Get-MailboxStatistics to extract information about its contents and then… ran into difficulties formatting the output so that it looked like a half-decent report that could be given to a manager without them thinking that you were a person of few skills and little intellect.
But that was in the early days and now we’re all accomplished PowerShell maestros. At least, we like to think we are. Those who aren’t yet convinced and who want to go on their personal voyage of discovery could do worse than attending the one-day seminar on managing Exchange and Exchange Online with PowerShell for at IT/DEV Connections on September 14. The tutors are Jaap Wesselius and Michel de Rooij, authors of “Pro Exchange 2013 SP1 PowerShell Administration” (link here) Michel’s latest contribution is a very nice PowerShell profile script to automate connections to the various endpoints used with Office 365. These guys know their stuff.
The biggest success of PowerShell is probably Exchange Online and the rest of Office 365. I don’t see how Microsoft could run an operation at such scale without a huge amount of automation, an aspect acknowledged by speakers such as Vivek Sharma when they talk about the service. Just think about managing 100,000 Exchange servers. Now blink again. PowerShell is a core contributor to the Office 365 platform.
Perhaps an unintended offshoot of the success of PowerShell is that it has turned old technologists into coders once again. In my past, I wrote COBOL and VAX BASIC programs and was reasonably good at the job (in my own mind). Then I became a manager and had the compulsory frontal lobotomy and lost all interest in code. PowerShell reawakened the desire to put stuff together. I’m not very good, but I can do stuff – like my effort to convert Exchange distribution groups to Office 365 Groups.
Jeffrey absolutely deserves his elevation. As he noted in Twitter, the downside is that he can’t be promoted again. Not unless he becomes the Microsoft CEO. Is PowerShell that powerful?
Follow Tony @12Knocksinna