Share via

Windows PowerShell SDK


Microsoft® Windows® PowerShell is a Microsoft .NET-connected environment designed for administrative automation. Windows PowerShell provides a new approach to building commands, composing solutions, and creating management GUI tools.

Where Applicable

Windows PowerShell enables a system administrator to automate the administration of system resources by the execution of commands either directly or through scripts.

Developer Audience

The Windows PowerShell SDK is written for command developers who require reference information about the APIs provided by Windows PowerShell. Command developers use Windows PowerShell to create both commands and providers that extend the tasks that can be performed by the Microsoft® Windows® PowerShell.

In addition to the Windows PowerShell SDK, the following resources provide more information.

Windows PowerShell Team Blog. The best resource for learning from and collaborating with other Microsoft® Windows® PowerShell users. Read the Windows PowerShell Team blog, and then join the Windows PowerShell User Forum ( Use Windows Live Search to find other Windows PowerShell blogs and resources. Then, as you develop your expertise, please freely contribute your ideas.

Windows PowerShell SDK. Provides reference content used to develop cmdlets, providers, and hosting applications.

Windows PowerShell Programmer's Guide. Provides tutorials for creating cmdlets, providers, and hosting applications. Also contains information about fundamental Windows PowerShell concepts.

Windows PowerShell TechNet Library. Provides the latest versions of the command line Help topics.

Installing Windows PowerShell

For more information about installing Microsoft® Windows® PowerShell and where to download the Microsoft® Windows® PowerShell Software Development Kit (SDK), see How to Install Windows PowerShell in the Windows PowerShell Programmer's Guide.

Class Library

  • System.Management.Automation.Provider
    This namespace contains the classes, enumerations, and interfaces required to implement a Windows PowerShell provider. In particular, the CmdletProvider class is the base class from which all Windows PowerShell provider classes must be derived.
  • Microsoft.PowerShell.Commands
    This namespace contains the classes for the cmdlets and providers implemented by Windows PowerShell. Similarly, it is recommended that you create a [YourName].Commands namespace for those cmdlets that you implement.
  • System.Management.Automation.Host
    This namespace contains the classes, enumerations, and interfaces that the cmdlet uses to interact with the Host application user.