As email administrators, we at some point will do one of those things that inherently pisses off the end user, setting a limit on the size of their mailbox. There are several places we can set mailbox limits, most notably on a per-user basis, or at the mailbox database level, as seen below.
Now, an interesting item can happen if you try to set a mailbox limit, of lets say 5 GB on this mailbox database. Remember, these settings are done in KB, not GB, so we convert 5 GB to 5242880 KB. We will however receive an error message when attempting to apply these settings.
This error message, which you will get for all three warning levels, is telling you that Exchange 2003 only supports setting a mailbox limit of 2097151 KB which is 2 GB. Well now Microsoft, this is a little insane. Google, Yahoo and even Microsoft offer free public mailboxes that offer this amount of space and more, why do they limit their Flagship email program to this limit you ask? Remember, Exchange 2003 is five years old as of this writing, and the corporate email environment has changed dramatically. 2 GB would have been a tremendous email box five years ago. So, Exchange System Manager blocks you from even applying this limit, so how do you set this you ask? With some help from our old friend ADSIEDIT of course. ADSIEDIT is included in the Windows Server 2003 Support Tools found on the Windows Installation disc, or can be downloaded from here:
Once you’ve installed ADSIEDIT, navigate to c:program filessupport tools, and double click on the icon for ADSIEDIT.MSC, and you’ll be presented with this screen:
This is very raw Active Directory information!! You can see that it lists the separate partitions for Active Directory, Domain, Configuration and Schema. Since Exchange Server leverages Active Directory as its directory service, it stores all it’s configurations in Active Directory. So……this means that there is a corresponding value for the Exchange Mailbox Limits we set in ESM in Active Directory. Since ADSIEDIT lets you edit raw data, there is no warning in place, and it will let you set the value. Keep in mind though that since it lacks the built in protection of ESM, it will let you do extreme damage to your Exchange Organization and Active Directory installation, so be extremely careful when editing data in this utility!!
So first, we need to find the data value for Size Limits. So we are going to navigate to Configuration -> Services -> Microsoft Exchange -> Exchange Organization Name-> Administrative Groups -> Administrative Group Name -> Servers -> Server Name -> Information Store -> Storage Group.
Now, you’ll notice that this structure is similar to ESM. That’s because ESM attaches to the Configuration Partition, and reads this info and displays the results in an easier to manage display. On the right hand screen you’ll see your corresponding Mailbox and Public Folder Databases. Let’s right click on the Mailbox Store and select Properties. Now, you’ll have three columns, Attribute, Syntax and Value. We are looking for three values under the Attribute column.
- mDBOverHardQuotaLimit – This corresponds to the “Prohibit Send and Receive at” value listed in ESM. This is the most restrictive of the settings, so you can associate that with the Hard Quote Value
- mDBOverQuotaLimit – This corresponds to the “Prohibit Send at” value in ESM.
- mDBStorageQuota – This corresponds to the “Issue Warning at” value in ESM.
The way to edit these value’s are extremely easy. Simple select them, and press the edit button. Now, enter the value you want for the limit. Remember, the numbers here should be in KB, so we will re-enter the value of 5242880 here. Now hit apply, and this will set the limits that you want. I’ve changed the values slightly so you can see the corresponding differences.
You can see that the values that we set in ADSIEDIT are now showing in ESM. Done, right? No? Damn. There is a consequence of what we have done. You can no longer edit these values in ESM. In fact, we cannot edit anything on this tab of ESM. If you try to hit apply, you’ll get the same error we got in the beginning of the article. If you need to make any changes, either make them before making the edit in ADSIEDIT, or remove
the values, make your changes in ESM, apply them, and then re-make the changes in ADSIEDIT. That’s it, your done! Now remember, the Information Store Service caches information for a period of time. So if a user exceeds the limit, the limits you set don’t take effect immediately. It can take two hours, or if your doing this in a test lab, you can restart the Information Store Service. (Be careful not to do this in a production environment, as this will dismount the mailbox databases, and disconnect users from their mailboxes). When the service starts up, it will implement the blocking of any boxes over their respective limits.