Windows PowerShell is a Windows command-line shell designed for ease-of-use not only by system administrators but also for application and system developers. The shell includes an interactive prompt and a scripting environment that can be used independently or in combination. PowerShell V2 is available by default with both R2 and Windows 7 and, via an optional update, previous versions of Windows.
For Developers specifically, Windows PowerShell in combination with the Windows Management Infrastructure (WinRM, WS-Management, WMI) provides a great way to automate server hosted solutions. For example, if you implement all your administration logic via PowerShell, then layer the MMC GUI over the top (i.e. MMC calls PowerShell to get the work done) – you will have given your Enterprise customers the absolute best of all worlds; GUIs, scripting, and delegated, remote automation.
Unlike most scripting shells, which accept and return text, Windows PowerShell is integrated with the .NET Common Language Runtime (CLR) and the .NET Framework, and thus deals in .NET objects instead of just text strings. This fundamental change in the environment brings entirely new tools and methods to the management and configuration of Windows. Application Developers may extend their solutions with custom PowerShell based object models which integrate seamlessly with platform management solutions.
Like many shells, Windows PowerShell gives you access to the file system on the computer. In addition, Windows PowerShell providers enable you to access other data stores, such as the registry and the digital signature certificate stores, as easily as you access the file system.
Version 2 of Windows Powershell introduces an array of new features including remote sessions, an integrated script environment, debugging tools, and much more.