If there is one thing that has always been lacking in Exchange its a mechanism to inventory and report on your infrastructure. Personally I think its something that should be in the Exchange Management Console, but that's a different story…
The good news is that Steve Goodman has released an excellent bit of PowerShell that provides some much needed reporting and inventorying information via native PowerShell.
This script, inspired by the output of an Exchange TAP tool, aims to automatically generate a report that gives you an overview of your environment, Exchange 2007 and 2010 servers and database availability groups - in particular:
Neil Johnson Senior Consultant