Interpreting Status of Storage Quotas via Exchange Management Shell



When using the Exchange Management Shell to view mailbox properties using the get-mailbox task, the output of the task may contain the following information:


The value of “unlimited” above can be deceiving depending on the circumstance. In order to truly evaluate what the current storage quota status is, it is necessary to also look at the UseDatabaseQuotaDefaults parameter. A value of TRUE on UseDatabaseQuotaDefaults means that the per-mailbox settings are ignored and the mailbox database defaults are used.


Note: By default, the values on the user’s mailbox database are set to the following:


Issue Warning : 1,991,680,000 Bytes = 1.9GB

Prohibit Send: 2,099,152,000 Bytes = 2GB

Prohibit Send and Receive: 2,411,520,000 Bytes = 2.3GB


A value of FALSE on UseDatabaseQuotaDefaults means that the per-mailbox settings are used.

Where did the default mailbox database values come from?

These values are based on the following assumptions:


  • A user receives 100 x 50 KB messages a day.
  • This equates to approximately 5MB of mail data per day and 100MB of mail over the course of 20 days.


Issue Warning: 20 days of warnings should be sufficient for a user to make adjustments to their mailbox size.

Prohibit Send: Promotes the user or large mailboxes in Exchange Server 2007.

Prohibit Send and Receive: If a user goes on vacation the day before getting the Prohibit Send warning message, then he/she has approximately 60 days to be away before the mailbox begings to reject incoming messages. In addition, this small gap between Prohibit Send and Prohibit Send and Receive allows administrators to have a predictable max database size.


More Information

The following table maps the storage limits to their respective parameters in Exchange Management Shell and Active Directory attribute for a given mailbox:


















Storage Limits


Exchange Management Shell Parameters using get-mailbox


Active Directory Attribute


Issue warning at (KB):


IssueWarningQuota


mDBStorageQuota


Prohibit send at (KB):


ProhibitSendQuota


mDBOverQuotaLimit


Prohibit send and receive at (KB):


ProhibitSendReceiveQuota


mDBOverHardQuotaLimit


In addition, the Use mailbox database defaults checkbox on the properties of the mailbox > Mailbox Settings > Storage Quotas in the Exchange Management Console, maps back to the UseDatabaseQuotaDefaults parameter in the Exchange Management Shell and the mDBUseDefaults attribute in Active Directory.

There are three different kinds of values here that play into the storage quotas feature:


  1. Per-mailbox database settings
  2. Per-mailbox settings
  3. Boolean on each mailbox to control whether per-mailbox database settings or per-mailbox settings are used for the mailbox storage quota behavior.

To evaluate an individual mailbox to determine what quota values are in effect (mailbox database or individual mailbox), using the Exchange Management Shell and run the following command:

get-mailbox –id <MAILBOX> | format-list *quota,UseDatabaseDefaults

If mailbox database settings are used as defaults, the values for the following would take effect:

























Exchange Management Shell


Active Directory


IssueWarningQuota


unlimited


mDBStorageQuota


Not Set


ProhibitSendQuota


unlimited


mDBOverQuotaLimit


Not Set


ProhibitSendReceiveQuota


unlimited


mDBOverHardQuotaLimit


Not Set


UseDatabaseQuotaDefaults


TRUE


mDBUseDefaults


TRUE


* In this case, “unlimited” does not mean the mailbox has unlimited size. Instead you would need to reference the mailbox store storage limits to see what the limits are currently set to. Using the Exchange Management Shell, the following command would show the current quota limits of the mailbox database: get-mailboxdatabase –id “<MAILBOX_DATABASE_NAME>” | format-list *quota

If mailbox database settings are not used as defaults, the values for the following would take effect:


Note: The values below are a sample


























Exchange Management Shell


Active Directory


IssueWarningQuota


400000


mDBStorageQuota


400000


ProhibitSendQuota


500000


mDBOverQuotaLimit


500000


ProhibitSendReceiveQuota


525000


mDBOverHardQuotaLimit


525000


UseDatabaseQuotaDefaults


FALSE


mDBUseDefaults


FALSE


If mailbox database settings are used as defaults, and the per-mailbox settings are set, the following would take effect in the table below:


Figure 1: Storage quotas on the mailbox database

























Exchange Management Shell


Active Directory


IssueWarningQuota


400000


mDBStorageQuota


400000


ProhibitSendQuota


500000


mDBOverQuotaLimit


500000


ProhibitSendReceiveQuota


525000


mDBOverHardQuotaLimit


525000


UseDatabaseQuotaDefaults


TRUE


mDBUseDefaults


TRUE


 If mailbox database settings are not used as defaults, and the per-mailbox settings are not set, the following would take effect in the table below:


Figure 2: Storage quotas on the mailbox database

























Exchange Management Shell


Active Directory


IssueWarningQuota


unlimited


mDBStorageQuota


Not Set


ProhibitSendQuota


unlimited


mDBOverQuotaLimit


Not Set


ProhibitSendReceiveQuota


unlimited


mDBOverHardQuotaLimit


Not Set


UseDatabaseQuotaDefaults


FALSE


mDBUseDefaults


FALSE


 * In this case, “unlimited” actually means this mailbox has an unlimited size.

The behavior described is by design.

-Malvin M. Seale

Comments (1)
  1. So if I’d like to have the "real" value of the quota limit, I’d have to write a script, right? Would be nice to have this out of the box… Christian

Comments are closed.

Skip to main content