Powershell is a command-line shell utility and associated with scripting language from Microsoft. Power Shell supports Windows XP SP2/SP3, Windows Vista, Windows Server 2003, Windows Server 2008. The latest version of PowerShell is Windows PowerShell 2.0 released with Windows 7 and Windows Server 2008 R2. Microsoft Windows PowerShell is a new command-line shell and scripting language designed for system administration and automation. Built on the .NET Framework, Windows PowerShell enables IT professionals and developers to control and automate the administration of Windows and applications.
Remote management : You can run commands on one computer or hundreds of computers with a single command. You can establish an interactive session with a single computer. And, you can establish a session that can receive remote commands from multiple computers.
New cmdlets : Cmdlets are specialized commands in the PowerShell environment that implement specific functions. These are the native commands in the PowerShell stack. Windows PowerShell includes more than 100 new cmdlets, including Get-Hotfix, Send-Mail Message, Get-Computer Restore Point, New-Web Service Proxy, Debug-Process, Add-Computer, Rename-Computer, Reset-Computer Machine Password, and Get-Random.
Modules : Windows PowerShell modules let you organize your Windows PowerShell scripts and functions into independent, self-contained units. You can package your cmdlets, providers, scripts, functions, and other files into modules that you can distribute to other users. Modules are easier for users to install and use than Windows PowerShell snap-ins. Modules can include any type of file, including audio files, images, Help files, and icons. Modules run in a separate session to avoid name conflicts.
Windows PowerShell Integrated Scripting Environment (ISE) : Windows PowerShell ISE is a graphical user interface for Windows PowerShell that lets you run commands, and write, edit, run, test, and debug scripts in the same window. It offers up to eight independent execution environments and includes a built-in debugger, multiline editing, selective execution, syntax colors, line and column numbers, and context-sensitive Help.
Events : Windows PowerShell includes a new event infrastructure that lets you create events, subscribe to system and application events, and then listen, forward, and act on the events synchronously and asynchronously.
Advanced functions : Advanced functions behave just like cmdlets, but they are written in the Windows PowerShell scripting language instead of in C#.
Script internationalization : Scripts and functions can display messages and Help text to users in multiple languages.
Background jobs : With Windows PowerShell background jobs, you can run commands asynchronously and “in the background” so you can continue to work in your session. You can run background jobs on a local or remote computer, and you can store the results locally or remotely.
Debugger : The Windows PowerShell debugger can help you debug functions and scripts. You can set and remove breakpoints, step through code, check the values of variables, and display a call-stack trace.
Transactions : Windows PowerShell now supports transactions, which let you manage a set of commands as a logical unit. A transaction can be committed, or it can be completely undone so that the affected data is not changed by the transaction.