Real Admins Use the Command Line

When Microsoft was freely handing out certifications back in the mid-1990's to anyone with a pen and a heartbeat, there was a real concern that Microsoft's certification program would become a joke of sorts, 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 admins. Unlike their UNIX counterparts, Windows admins are often perceived as being less technical, less knowledgeable, and, in some cases, even less employable.

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 admin 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, the company naturally began looking to fill in those areas in which its server products still lagged behind the UNIX and UNIX-like competition.

Let's take a 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 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 ("Monad") command line and scripting environment. Like a UNIX server, Exchange 2007's GUI tools were built on top of this command line interface (CLI), and not vice-versa as with all previous Microsoft solutions. This is a revolutionary change, and one that admins 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 install option that dispenses with the Windows GUI all together and provides a base line of functionality that is perfect for infrastructure servers like DNS, DHCP, and so on. What's truly interesting about Server Core, however, is that is represents the logical conclusion of Microsoft's "secure by design, secure in deployment" mantra: Because Longhorn is componentized, Server Core, like all other Longhorn install 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 its' 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 Windows Vista gets into the CLI game, sort of. You may recall that previous Windows versions utilized a simple boot.ini file to determine the configuration of the system on boot-up. Though 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 BCD (for Boot Configuration Data). It's locked down, so you can't edit it easily, and Microsoft--get this--only supplies 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 like the boot manager timeout or which OS options appear in the menu, you're going to have 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 admins 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're going to need to leave the familiarity and comfort of the Windows GUI behind.

This article originally appeared in the February 6, 2007 issue of Windows IT Pro UPDATE.