I used to be a GUI wimp, but now I’m a Windows PowerShell whiz: Such is the transformation many Exchange Server administrators will need to go through to thrive in the administrative landscape that Microsoft has created in Exchange Server 2007. Exchange 2007's Exchange Management Shell uses PowerShell commands to perform and automate common activities, such as moving mailboxes between servers. In fact, you can perform some actions, such as setting diagnostics logging, managing public folders, and changing parameters for the transport service, only through shell commands. (Microsoft says it will reintroduce GUI management for public folders in Exchange 2007 Service Pack 1—SP1.)
Let's begin looking at the PowerShell basics you need to run your Exchange environment. Future articles will delve into the details of how to extract the maximum benefit from PowerShell when managing Exchange 2007.
A New Management Philosophy
In previous versions of Exchange, administrators' management options were limited to whatever Microsoft provided—specifically, the Administrator program for Exchange Server 5.5 and earlier or Exchange System Manager (ESM) for Exchange 2000 Server and later. Administrators could always use registry hacks to change the way that Exchange components behaved, but in most cases you could manage Exchange only through the options presented in the GUI. If you wanted to create scripts to automate administrative tasks, you ran into a confusing mishmash of APIs, such as Collaboration Data Objects for Exchange Management (CDOEXM), Windows Management Instrumentation (WMI), and Exchange Routing Objects, none of which worked with more than one or two versions of Exchange. . . .

