A. On November 15, Microsoft released Windows PowerShell 1.0 (formerly codenamed Monad) for Windows XP Service Pack 2 (SP2) and Windows Server 2003, which you can download at http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx . A Windows Vista Release Candidate 1 (RC1) version is also available, with the final Vista version available by January 31, 2007. The download is less than 2MB but does require that Microsoft .NET Framework 2.0 is installed. Once PowerShell is installed, a new Programs group, Windows PowerShell 1.0, will be created, which has a number of shortcuts to documents and the actual Windows PowerShell application shortcut which points to the %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe image.

PowerShell is the future command-line and scripting environment for the management and automation of Windows environments, and many new Microsoft technologies have their management built on the PowerShell environment. For example, Microsoft Exchange Server 2007 relies heavily on the PowerShell environment for many management actions.

The base PowerShell also includes a number of command-line tools called cmdlets that allow access to many system resources such as accessing the registry, Windows Management Instrumentation (WMI), services, processes, event logs, and basically every part of the OS.

Common cmd.exe commands such as Dir and Type all work in the PowerShell, but its real power is via its improved cmdlets. To get started, it's easiest to type

get-help
which opens an overview of the format of the PowerShell syntax and commands to get started. For example, the get-command command will display a list of all the cmdlets, and the get-command will display detailed information on that cmdlet.

Some handy commands to get started are get-service and get-process, which give information about services and processes, respectively. The figure shows a sample search for all processes that start with o:

In this example, the information is displayed in a table format, but you can easily output it to a list by passing format-list as it's output, as the figure shows.

To get a list of all possible formats, type

get-help format*
at a command line.