I've put together a list of articles which cover common questions on Exchange PowerShell Automation.  These links cover issues from starting out to common problems.  I hope they help.  Please let me know if there are others you see as important.

 

Starting articles on automation:

 

Using Exchange Management Shell Commands with Managed Code

http://msdn.microsoft.com/en-us/library/bb332449.aspx  

 

Windows PowerShell

http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx

 

OUTBOX: Introduction to Exchange PowerShell Automation Part 1

http://blogs.msdn.com/mstehle/archive/2007/01/25/fyi-introduction-to-exchange-powershell-automation-part-1.aspx

 

OUTBOX: Introduction to Exchange PowerShell Automation Part 2

http://blogs.msdn.com/mstehle/archive/2007/01/25/outbox-introduction-to-exchange-powershell-automation-part-2.aspx

 

Samples:

 

Howto: Calling Exchange Powershell from an impersonated thead.

http://blogs.msdn.com/webdav_101/archive/2008/09/25/howto-calling-exchange-powershell-from-an-impersonated-thead.aspx

 

Handling results of calling Powershell - Multivalued and string arrays.

http://blogs.msdn.com/webdav_101/archive/2008/02/08/handling-results-of-calling-powershell-multivalued-and-string-arrays.aspx

 

HOWTO: csharp - Exchange PowerShell - call get-StorageGroupCopyStatus with managed code.

http://blogs.msdn.com/webdav_101/archive/2007/11/29/howto-csharp-powershell-call-get-storagegroupcopystatus-with-managed-code.aspx 

 

HOWTO: csharp - PowerShell - call get-clusteredmailboxserverstatus with managed code.

http://blogs.msdn.com/webdav_101/archive/2007/11/29/howto-csharp-powershell-call-get-clusteredmailboxserverstatus-with-managed-code.aspx

 

Managing Exchange 2007 Recipients with C#

http://knicksmith.blogspot.com/2007/03/managing-exchange-2007-recipients-with.html

 

Scripting Exchange Web Services (2007) with VBS and Powershell

http://gsexdev.blogspot.com/2006/12/scripting-exchange-web-services-2007.html

 

Problems:

 

An application cannot impersonate a user and then run Windows PowerShell commands in an Exchange Server 2007 environment

http://support.microsoft.com/kb/943937/en-us

 

Call Dispose on client when calling COM+ objects.

http://blogs.msdn.com/webdav_101/archive/2008/05/29/call-dispose-on-client-when-calling-com-objects.aspx

 

KB: Automation Error 0x8007007f when Invoking Exchange 2007 Powershell Cmdlets

http://blogs.msdn.com/mstehle/archive/2007/07/03/kb-automation-error-0x8007007f-when-invoking-exchange-2007-powershell-cmdlets.aspx

 

PowerShell commands for the Exchange 2007 Edge server role do not work as expected after you uninstall an update rollup or an interim update on the Edge server

http://support.microsoft.com/kb/949536

 

 

Installation:

 

How to Download Windows PowerShell 1.0

http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx

 

How to Install Windows PowerShell and Download the Windows PowerShell SDK

http://msdn2.microsoft.com/en-us/library/Bb204630.aspx

 

How to Install the Exchange 2007 Management Tools

http://technet.microsoft.com/en-us/library/bb232090(EXCHG.80).aspx

 

How to Install Exchange 2007 SP1 Prerequisites on Windows Server 2008 or Windows Vista

http://technet.microsoft.com/en-us/library/bb691354(EXCHG.80).aspx  

 

Installing Exchange 2007 Management Tools On a 32 Bit Operating System

http://support.microsoft.com/default.aspx/kb/555841 

 

How to obtain the latest service pack or update rollup for Exchange 2007

http://support.microsoft.com/kb/937052

 

PowerShell Scripting Training:

 

Using the Exchange Server 2007 Management Console and Shell

http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032341118&EventCategory=3&culture=en-US&CountryCode=US

 

TechNet Webcast: Introduction to Windows PowerShell Scripting in Exchange Server 2007 (Level 200)

http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032343633%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e

 

White Paper: Exchange Management Shell

http://technet.microsoft.com/en-us/library/bb266977(EXCHG.80).aspx

  

Other:

 

The Windows PowerShell Toolbox

http://www.microsoft.com/technet/scriptcenter/topics/winpsh/toolbox.mspx

 

Avoiding Jitter: Jumpstarting the Exchange shell  (makes PowerShell run faster)

http://msexchangeteam.com/archive/2008/08/01/449426.aspx

 

Additional Tips:

 

·   When you run into a problem with automation code, see if it reproduces in the command shell.

 

·   If you run into an issue with script or automation code and think it should work, verify that you have the current service packs installed.

 

·   To avoid possible issues with the console, be sure that the version of the tools running PowerShell code are at the same SP/fix level as the other servers.