Getting Reports with Microsoft Exchange Server 2007

If you're like most Exchange Server administrators, you've probably gotten used to questions such as "How much email data do we have?" or "Whose mailbox is the biggest?" Exchange logs plenty of statistical data that you can use to generate answers to these kinds of questions, but sometimes it's hard to know what data you can report on or where you can find it.

Most of the questions you might have about mailboxes can be answered by querying for mailboxes or mailbox databases. This is incredibly easy in Exchange Server 2007's Exchange Management Shell; you can quickly find out how many mailboxes you have, which ones are the largest or smallest, which ones haven't been used in a certain period, and so on. The key is to be familiar with the specific mailbox-level properties that you want to report on. You can use the Format-List cmdlet to get a list of all the mailbox properties for a single mailbox in a command such as

get-mailbox "Paul Robichaux" | format-list

Then, you can use the properties returned by that command in more complex queries. You can even take your reporting data and turn it into a text-based graph with the Format-Graph cmdlet available free on Joannes Vermorèl's blog, or you can use the PowerGadgets toolset to draw graphs or gauges of data. Of course, you can also export the reporting results into a comma-separated value (CSV) file for further analysis in Microsoft Excel.

Sometimes you don't need numerical results as much as you need the results of a simple test. As an example, say you need to know which users have active Exchange ActiveSync (EAS) devices. You might need to know this because, until SP1 ships, Exchange 2007 users have to reassociate their devices with an EAS policy when their mailbox is moved between servers. Fellow Exchange MVP Bharat Suneja came up with a simple answer:

Get-CASMailbox | where \{$_.HasActiveSyncDevicePartnership\} | select name

Of course, Exchange isn't the only thing whose activity and behavior you can report on. The Exchange 2007 Client Access server services are essentially Microsoft IIS applications, so you can use the IIS logs to gather data about who, what, and how much. For example, if you want to know who's using Microsoft Entourage, or who your most active EAS users are in terms of bytes transferred, the IIS logs have the answers. Of course, looking through these logs manually is a quick way to go blind. Instead, check out Microsoft's free Log Parser tool, which essentially lets you make SQL-like queries against log files. Jim Westmoreland has an excellent post on how to use LogParser with IIS logs.

There are many specialized reporting tools for Exchange, including PROMODAG Reports, Quest MessageStats, Email CONTROL! for Microsoft Exchange from Permessa (formerly DYS Analytics), and Microsoft's own management packs for Microsoft Operations Manager (MOM). These might be appropriate solutions if you have complex reporting needs or have to generate regular reports, but you might be surprised by how much you can get done with just the included Exchange 2007 tools. (And, of course, don't forget the built-in Windows performance monitoring tools!)

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.