Zachary Loeber

The personal website of Zachary Loeber.

Exchange 2010 Mailbox Audit Report GUI

I’ve updated the original Exchange Mailbox Audit Report Script with some new features and bug fixes. These updates have also set the stage for the entire script to be wrapped with a GUI! Here is the initial release of the Mailbox Audit Report GUI for your auditing needs.


I initially released a (rather lengthily) script to generate mailbox permissions and other mailbox statistical reports with the full intention of including a GUI. Read more about my original need for this kind of reporting here. I had always intended to add a GUI to this script and finally have found a little bit of time to make it happen. All the features in the general script are supported But there are some caveats to scheduling the job to run with settings generated by this GUI though.


The GUI will allow you to select and save report options and scopes for the New-ExchangeMailboxAuditReport powershell script. The scopes which will automatically load in the stand-alone script are limited to Whole Enterprise, DAG, Mailbox Database, and Mailbox Server. Individual mailbox selections you can perform and run reports against in the GUI are not saved in the XML config file. But you can pass an array of individual mailboxes via function parameter and load a configuration file concurrently to get the same result. Unlike in other GUI releases I’ve done, I did not set the underlying function to automatically load the saved configuration file because of this. You will have to manually select the LoadConfig switch when calling the function were you to schedule this script.

Once connected to exchange, you can select the load button at any time to start populating the mailbox list on the right. For larger environments this will appear to freeze, just be patient and it will eventually complete and allow you to multi-select individual mailboxes to run the report against.

Like other GUI scripts I’ve released this project has essentially three components.

  • Globals.ps1

– This contains shared functions between the report generation script and the GUI.

  • New-ExchangeMailboxAudit.ps1

– This contains the report generation function. Globals.ps1 is dot sourced if required shared functions are found to be missing (if not running the GUI for instance)

  • New-ExchangeMailboxAudit-GUI.ps1

– This is the GUI script which calls the report generation function. Globals.ps1 is included with this script by default (as globals.ps1 is part of the powershell studio project I created and it merges in with the form script when I export it). This script dot sources New-ExchangeMailboxAudit.ps1

My last note is that this is likely the last Exchange script/GUI I’ll be releasing for a while. I’ve gotten little feedback on them and I’m not really working with Exchange as deeply as I have in the past. Besides, I’m technically not even an “Exchange Guy” anyway. The fact that I’ve done so many of these kind of scripts thus far is a testement to the genius of including powershell as an administrative tool within product releases at Microsoft. It allows for a platform to be released with 80% of what an administrator may need in a GUI interface while letting the rest of the community pick up the slack 🙂


1.0.0 May 9th 2013

– First release







Download the script from the technet gallery (more frequently updated)

Download the script from this site (less frequently updated)

comments powered by Disqus