Windows PowerShell is Microsoft's task automation framework, consisting of a command-line
shell and associated scripting language built on top of .NET Framework. PowerShell
provides full access to COM and WMI, enabling administrators to perform administrative
tasks on both local and remote Windows systems.
Windows PowerShell includes the following features:
- Cmdlets for performing common system administration tasks, such as managing the
registry, services, processes, and event logs, and using Windows Management Instrumentation
- A task-based scripting language and support for existing scripts and command-line
- Consistent design. Because cmdlets and system data stores use common syntax and
naming conventions, data can be shared easily and the output from one cmdlet can
be used as the input to another cmdlet without reformatting or manipulation.
- Simplified, command-based navigation of the operating system, which lets users navigate
the registry and other data stores by using the same techniques that they use to
navigate the file system.
- Powerful object manipulation capabilities. Objects can be directly manipulated or
sent to other tools or databases.
Extensible interface. Independent software vendors and enterprise developers can
build custom tools and utilities to administer their software.
Output is Always a .NET Object Please, Remember that PowerShell output is
always a .NET object. That output could be a System.Diagnostics.Process a object
or System.IO.FileInfo object or a System.String object. Basically it could be any
.NET object whose assembly is loaded into PowerShell including your own .NET objects.