|
About:
Windows PowerShell is an extensible command-line shell and associated scripting language from Microsoft. It was released in 2006 and is currently available for Windows XP SP2/SP3,
Windows Server 2003, Windows Vista and is included in Windows Server 2008 as well as Windows 7 (beta) as an optional feature.
Windows PowerShell integrates with the Microsoft .NET Framework and provides an environment to perform administrative tasks by execution of cmdlets (pronounced commandlets) which are
specialized .NET classes implementing a particular operation, scripts which are composition of cmdlets along with imperative logic, executables which are standalone applications,
or by instantiating regular .NET classes. These work by accessing data in different data stores, like the filesystem or registry, which are made available to the PowerShell runtime
via Windows PowerShell providers.
Windows PowerShell also provides a hosting mechanism with which the Windows PowerShell runtime can be embedded inside other applications, which can then leverage
Windows PowerShell functionality to implement certain operations, including those exposed via the graphical interface.
This capability has been utilized by Microsoft Exchange Server 2007 to expose its management functionality as PowerShell cmdlets and providers and implement
the graphical management tools as PowerShell hosts which invoke the necessary cmdlets.
Other Microsoft applications including Microsoft SQL Server 2008 also expose their management interface via PowerShell cmdlets.
In the future, graphical interface-based management applications on Windows will be layered on top of Windows PowerShell.
Windows PowerShell includes its own extensive, console-based help, reminiscent of man pages in Unix shells.
The help topics include help for cmdlets, providers, and concepts in PowerShell. To see the help, use the Get-Help cmdlet.
Online help for Windows PowerShell is updated weekly in the TechNet Library.
Background:
Every released version of Microsoft DOS and Microsoft Windows for personal computers has featured a command-line interface tool.
These are COMMAND.COM (in installations relying on MS-DOS, including Windows 9x) and cmd.exe (in Windows NT-based installations).
These are regular command line interpreters which include only a handful of basic commands.
For other purposes, a separate console application needs to be provided, to be invoked from these shells.
They also include a scripting language (batch files) which can be used to automate various tasks. However, they cannot be used to automate all facets of GUI functionality,
in part because command-line equivalents of operations exposed via the graphical interface are limited, and the scripting language is elementary, preventing the creation of
complex scripts by composing available functionality. In Windows Server 2003, the situation was improved, but scripting support was still considered unsatisfactory.
Microsoft attempted to address some of these shortcomings by introducing the Windows Script Host in 1998 with Windows 98,
and its command-line based host: cscript.exe . It integrates with the Active Script engine and allows scripts to be written in compatible languages, such as JScript and VBScript,
leveraging the APIs exposed by applications via COM. However, it has its own deficiencies, as well. It is not integrated with the shell, its documentation not very accessible, and it quickly gained
a reputation as a system vulnerability vector after several high-profile computer viruses exploited weaknesses in its security provisions.
Different versions of Windows provided various special-purpose command line interpreters (such as netsh and WMIC) with their own command sets.
None of them were integrated with the command shell, nor were they interoperable.
By 2003 Microsoft had started to develop a new shell called Monad (aka Microsoft Shell or MSH).
Monad was to be a new extensible command shell with a fresh design which would be capable of automating a full range of core administrative tasks.
Microsoft published the first Monad public beta release on June 17, 2005, Beta 2 on September 11, 2005 and Beta 3 on January 10, 2006. They announced on April 25, 2006 that
Monad was renamed to Windows PowerShell, positioning it as a significant part of their management technology offerings. Release Candidate 1 of PowerShell was released at the same time.
Release Candidate 2 of PowerShell was released September 26, 2006 and released to web (RTW) on November 14, 2006. PowerShell for Vista was released on January 30, 2007.
A CTP release of Windows PowerShell v2.0 has been made available since November 6, 2007.
reference by wikipedia.org | |