Introduction to Exchange Management Shell Programming

The Exchange Management Shell in Microsoft Exchange Server 2010 provides a rich set of commands based on the Windows PowerShell platform for managing an Exchange Server installation. You can use the Exchange Management Shell commands to automate the administration of a server by directly executing the commands, or through command scripts.

In some cases, however, you may need to use Exchange Management Shell commands from within a hosting application, such as an administrative application that is running on the administrator's desktop or through a Web-based application. In these cases, you can call Exchange Management Shell cmdlets from within your Microsoft Visual Basic or C# application to manage an Exchange server.

Using the Exchange 2010 Management Shell SDK to Create Applications

If you are familiar with creating Windows PowerShell host applications and want to see an example that shows how to call the Exchange Management Shell cmdlets from an application, or if you would like to see an example of the types of applications that you can create by using the Exchange Management Shell cmdlets, see Working with the Exchange Management Shell.

The Exchange Management Shell cmdlets are extensions to Windows PowerShell, a task-based command-line shell and scripting language that is designed specifically for system administration. Windows PowerShell is built on the Microsoft .NET Framework, and provides an object-oriented API for cmdlet, provider, and host applications developers. To learn about Windows PowerShell programming, see the Windows PowerShell SDK.

The Exchange Management Shell cmdlets accept and return objects. For a list of Exchange Management Shell cmdlets and their input and output types, see Cmdlet Input and Output Types.

For detailed information about the Exchange Management Shell APIs, see Exchange PowerShell Reference.

For more information about the Exchange Management Shell, see Exchange Management Shell on Microsoft Technet.