Home » Exchange Server » PowerShell Script to Audit Exchange Server Database Storage Quotas

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.

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
Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.
Category: Exchange Server


  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 *