Windows PowerShell™ is a command-line shell that is packaged with the latest Windows® operating systems. The program uses a command-line interface and scripting language built on Microsoft’s .NET™ framework. The tool is designed to allow power users and system administrators to perform advanced functions such as server administration, operating system or software application configuration and other tasks such as remote computer maintenance. Windows PowerShell™ replaces Microsoft’s previous command-line shell, MS-DOS®, which required the cmd.exe and command.com command interpreters to run the operating system. Many Microsoft® PowerShell™ users tout its performance and usability as superior to its predecessors and competitors.
Windows PowerShell™ was first developed in 2006 for the Windows Server® and XP operating systems, although the tool was not pre-installed or packaged with those systems. Microsoft initially named the project Monad, but changed it to MSH, then Microsoft® Command Shell before finally settling on the name PowerShell™ 1.0. The application was originally deployed as a Release to Web (RTW) package in November 2006. Microsoft® did not pre-install PowerShell™ with Windows Vista® but later developed a version of PowerShell™ that was compatible with Vista® and available for download as a RTW package. The Windows 7® and Server® 2008 operating systems include PowerShell™ as a pre-installed component.
Windows PowerShell™ uses commands called cmdlets, which is short for command-lets. These simple, logical commands follow a verb-noun naming convention that is intended to remove uncertainty about each cmdlet’s purpose. PowerShell™ is pre-configured with over 100 cmdlets—more built-in commands than any other shell. In fact, some of the built-in cmdlets are based on familiar commands from MS-DOS® and other command-line shells such as the Unix® shell, Bash.
For example, if a user types “dir” and presses the carriage return in PowerShell™, the program will return a directory listing, as is the case in MS-DOS®. Likewise, typing “pwd” and pressing the carriage return in PowerShell™ tells the application to display the current directory, which is also true in Unix®. Moreover, PowerShell™ allows users to create their own aliases for favorite commands, essentially allowing individuals to set up and use any command syntax desired.
PowerShell™ is Microsoft’s answer to a world of information technology experts and advanced computer users who found MS-DOS® to be weak and problematic and who appreciated the power of Unix® command-line tools. Many experts agree that PowerShell™ is the first Microsoft® command-line shell that can compete with its Unix® counterparts. The main difference between Unix® shells and PowerShell™ is the latter’s use and manipulation of objects, as opposed to text only, and its leveraging of the .NET™ framework.