windowspowershellwiki

Cancel
Save
Edit
Summary: Windows PowerShell (formerly code-named "MSH", "Monad")


What is Windows PowerShell?

Windows PowerShell is the new command line shell and scripting language for Microsoft Windows. It is available as a free download that runs on Windows XP, Windows Server 2003 and Windows Vista. Starting with the April CTP, support for PowerShell is built into Windows Server "Longhorn" (although no support for Server Core).

For a good introduction to PowerShell, see Jeffrey Snover's Channel9 video#26795.

What can I do with Windows PowerShell?

A better question is what can't you do with it? Windows PowerShell is a fully featured command line shell, on a par with the best Unix/Linux shells, e.g. Bash. It is also a powerful administrative scripting tool - think of Perl or Ruby with AWK, SED and Grep thrown in. And all of this is based on .NET - so you have direct access to the entire CLR, plus the ability to script existing COM (ActiveX) and WMI objects, like you can with VBScript.

Windows PowerShell can also be added to your own application. The Exchange Server 2007 admin UI for example is written as an MMC Snap-in layered on top of PowerShell. This means that everything you can do from the GUI, you can also do from the CLI (and more). System Center Operations Manager 2007 will also leverage Windows PowerShell technology although not as richly as for Exchange 2007.

For more information on PowerShell, visit http://www.microsoft.com/powershell/


Where can I get Windows PowerShell?

PowerShell version 1.0 is publicly available for Windows XP, Windows Vista and Windows Server 2003 (ncluding R2). For Longhorn Server, it is included in the product as an optionally installed feature.

To download PowerShell V 1.0, go to:
  • http://www.microsoft.com/downloads/details.aspx?familyid=6CCB7E0D-8F1D-4B97-A397-47BCC8BA3806
  • http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx
  • SDK http://windowssdk.msdn.microsoft.com/en-us/library/ms714469(VS.80).aspx

How do I install Windows PowerShell?


See also http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx for reference.

Scripting Language Details

For a quick overview of the Windows PowerShell language, see WindowsPowerShellQuickStart.

Extending Windows PowerShell

Windows PowerShell is an extremely extensible environment. There are four ways that you can extend it:
  • Scripts
  • Cmdlets (tiny .Net classes which are surfaced as commands)
  • Providers (a set of .Net classes which expose data. These are surfaced as "Drives" which you can interact with as if they were a filesystem drive)
  • Snap-ins (assemblies containing cmdlets and can be loaded during startup time according to registry settings)

Sample Scripts

For a set of sample scripts, see

Sample Cmdlets

For a set of sample Cmdlets, see WindowsPowerShellSampleCmdlets.

Sample Providers

For a set of sample Providers, see WindowsPowerShellProviders.

Security

For information about Windows PowerShell security issues & features, see WindowsPowerShellSecurity

Where can I get more information?

For pointers to get more Windows PowerShell information, see WindowsPowerShellMoreInfo

Blog

Read blog by the Windows PowerShell development team: http://blogs.msdn.com/powershell/

FAQ

One FAQ is located on www.microsoft.com/powershell and a second is a wiki-based Channel9 Windows PowerShell FAQ WindowsPowerShellFaq

MissingFeatures

See the PowerShellMissingFeatures page to see more on features you think are missing from PowerShell V1.

Upcoming events


How Can I Help?

Login to Channel9, and start editing. There is a TODO list which notes some bigger things that need doing, but feel free to add whatever turns you on!



Credits

Who is responsible for this sub site/wiki?
This sub-wiki was created by Thomas Lee (tfl {at} psp.co.uk). Other contributors (voluntary or otherwise!) include Alex K. Angelopoulos, Rober Abell, Greg Petersen, and Jeffrey Snover. No doubt more contributions will be forthcoming!