The Exchange Powershell cmdlets are new to Exchange 2007 and automation of these cmdlets replaces CDOEX and WMI.
The Exchange Admin-Only Role must be installed on the application server in order to use Exchange cmdlets – they cannot be invoked remotely.
The 64-bit install of Exchange only installs the 64-bit version of Exchange cmdlets – these cmdlets cannot be used from a 32-bit process.
If an application server has both Exchange 2000/2003 and Exchange 2007 components on it for an application that manages both server versions it must use CDOEXM and PowerShell automation in different processes.
Exchange PowerShell automation requires the correct mixture of PowerShell version and call type (Local vs. Remote). Using the incorrect type is not supported. Exchange 2007 PowerShell Automation needs to be done with Local PowerShell 1.0.
Exchange 2010 and later PowerShell Automation needs to be done with Remote PowerShell 2.0+.
Exchange PowerShell cmdlets need to run with Exchange Administrative permissions.
PowerShell itself needs to run with local machine Administrative permissions.
Exchange Management Shell
Learn How to Use PowerShell to Run Exchange Commands Remotely
HOWTO: csharp – powershell – call get-clusteredmailboxserverstatus with managed code.
HOWTO: Using PowerShell in ASP.NET (.NET Framework 2.0)
With Exchange 2010, use Remote Powershell
PowerShell Automation from .Net
HOW TO: Migrating Exchange 2007 PowerShell Managed code to work with Exchange 2010
HOW TO: Configure Exchange 2007 and Exchange 2010 for using Impersonation
Handling results of calling Powershell – Multivalued and string arrays.
Akash blogging on PowerShell autagtion with .NET
Using–Filter, Select-Object, ForEach-Object in C# – Exchange PowerShell Automation
Channel 9 – Articles on PowerShell
Glen’s Exchange Dev Blog
This is one of my favorite sites for PowerShell scripts.
Glen Scale’s Exchagne Column
About: Messaging APIs