With Windows Vista Microsoft introduced a new shell and scripting runtime called PowerShell, which received a major new v2 update with the release of Windows 7.
PowerShell tries to make up for the lack of a good CLI in Windows by adding advanced command-line tools and operations such as piping data between commands, manuals for each command, parameters auto-completion etc.
For example if you were looking to close all instances of Windows Explorer, you could do that by querying all the Windows Explorer processes using Get-Process, and then terminating then using Stop-Process to stop them all. You could do that in a single line as follows:
Get-Process -Name explorer | Stop-Process
The list of processes that match the name ‘explorer’ will be retrieved and piped to the Stop-Process commandlet, which will then stop them all.
PowerShell 3 is the next obvious upgrade — it will probably release along with Windows 8 — and a preview version is available for download right now. While PowerShell was released with Windows Vista, even the latest v2 is available for Windows XP as well. PowerShell 3 is currently slated to be released only for Windows 7, Windows Server 2008 R2 and Windows 8, not even Vista.
One of the major new features in PowerShell is a GUI for commands to help newcomers get familiar with the syntax. A new ‘Show-Command’ utility details the parameters each command can take, in the form of a GUI dialog. PowerShell also includes an editor — Integrated Scripting Environment (ISE) — which has received numerous updates. Windows PowerShell Web Access is being introduced, which besides provides a web interface to PowerShell, also exposes a REST-based interface to your commands. Also improved is command discoverability, remoting etc.
You can find out more about PowerShell 3 from here, and can download it from here.