When Microsoft was freely handing out certifications back in the mid-1990s to anyone with a pen and a heartbeat, there was a real concern that Microsoft's certification program would become a joke, offering no real benefits to the certifiers or certified. And, of course, that's exactly what happened. So Microsoft overhauled its certification program, made the tests and certifications more meaningful, and turned things around. But there's still a strange stigma hanging over the heads of Windows-based administrators, who are often perceived as being less technical, less knowledgeable, and in some cases, even less employable than their UNIX counterparts
Well, those days are coming to a close. Through a strange series of coincidences, Microsoft appears to have warmed to the UNIX-style command line interfaces that inspired the company to earlier go in a completely different direction with the GUI-based administration tools we're familiar with in Windows. Part of this shift is common sense: Many repetitive administrative tasks need to be scriptable so that they can be completed more efficiently. Part of it was the rise of XML, a text-based descriptive markup language that is both standards-based and malleable from within text editors and scripts. And part of it, of course, is the maturity of Windows-based servers. Once Microsoft hit the high points, from a functional standpoint, the company naturally began looking to fill in the areas in which its server products still lagged behind the UNIX and UNIX-like competition.
Let's look at three examples of how Microsoft's new command-line religion is dramatically changing its products--and for the better.
I've written a lot about Microsoft Exchange Server 2007, Microsoft's latest messaging server. There's a lot to like about Exchange 2007, from its roles-based administration model and componentized design to its x64-based scalability to its comprehensive security features. But to me, the most impressive change in Exchange 2007 is that the server was completely designed around the Windows PowerShell (formerly code-named Monad) command line and scripting environment. Like a UNIX server, Exchange 2007's GUI tools were built on top of this command-line interface, and not vice-versa as with earlier Microsoft solutions. This is a revolutionary change, and one that administrators will immediately benefit from as they discover the rich capabilities of PowerShell.
The next version of Windows Server, codenamed Longhorn, includes a new Server Core installation option that dispenses with the Windows GUI all together and provides a base line of functionality that's perfect for infrastructure servers such as DNS, DHCP, and so on. What's truly interesting about Server Core, however, is that it represents the logical conclusion of Microsoft's "secure by design, secure in deployment" mantra: Because Longhorn is componentized, Server Core, like all other Longhorn installation types, includes only that code needed to generate the services it supplies. It is, quite literally, as secure as it can be. By stripping Windows to its most basic parts, Microsoft has limited what the server can do, but it's also limited what can go wrong. Humorous bit: When Microsoft demonstrates this feature publicly, it routinely gets rowdy applause from admin crowds. You guys are such geeks.
Finally, even Vista gets into the command-line interface game, sort of. You might recall that earlier Windows versions used a simple boot.ini file to determine the configuration of the system on boot up. Although this behavior was determined by a text file, it was controlled via a GUI tool in the System Properties dialog box. In Vista (as in Longhorn Server), boot.ini has been replaced by a boot file named Boot Configuration Data (BCD). It's locked down, so you can't edit it easily, and Microsoft--get this--supplies only a command-line tool, bcdedit.exe, for editing BCD features. BCD comes with a new set of terminology, naturally, and if you want to set options such as the boot manager timeout or which OS options appear in the menu, you'll need to grok the command line. (I do expect, however, that enterprising admins will construct GUI front-ends to this.)
What this all means for Windows-based administrators is that it's time to bone up on your typing and scripting skills. There's a brave new world out there, and if you want to take advantage of it, you'll need to leave the familiarity and comfort of the Windows GUI behind.