PowerShell Script to Audit Exchange Server Database Storage Quotas

When planning an Exchange migration I like to review the storage quotas configured on the existing databases. This ensures that new databases are configured with at least the same quota level and not inadvertently left with a smaller quota level, and also presents an opportunity to review quotas in the organization in case they can be increased or removed entirely.

In the days of migrating from Exchange 2003 this was a tedious task, but fortunately thanks to PowerShell it is now quite simple.

Here is a basic script that can be used to check all mailbox and public folder databases and report their storage quotas. Note that the script should be run from the Exchange Management Shell on a legacy server in your organization (e.g. if you’re upgrading from 2007 to 2013, run the script on a 2007 server or management shell).

Download the script from Github.

Simply run the script from the Exchange Management Shell.

[PS] C:\Scripts\Exchange2013Planning>.\Get-ExchangeDatabaseQuuotas.ps1
Processing MB-HO-01
Processing MB-BR-01
Processing MB-HO-Archive
Processing MB-BR-02
Processing MB-HO-04
Processing MB-HO-02
Mailbox database storage quota report saved as C:\Scripts\Exchange2013Planning\ExchangeDatabaseQuotas-MailboxDB.csv
Processing PF-BR-01
Processing PF-HO-01
Public folder database storage quota report saved as C:\Scripts\Exchange2013Planning\ExchangeDatabaseQuotas-PublicFolderDB.csv

The two CSV files are written to the folder where the script is run from, depending on which type of databases are found:

  • ExchangeDatabaseQuotas-MailboxDB.csv
  • ExchangeDatabaseQuotas-PublicFolderDB.csv

Comments

  1. Matt says

    Hey Paul,
    Thanks for creating/maintaining such an awesome site. It’s really helping out with our migration. I’d like to try out this script, but it looks like the download link is not working.

Leave a Reply

Your email address will not be published. Required fields are marked *