How to View the Size of User Mailboxes in Exchange 2007

If you’ve recently upgraded to Exchange 2007, you may have noticed that two really useful columns in Exchange 2003, Size and Total Items, are missing! Personally, I found this very annoying because it was a great way to quickly see which Exchange users were taking up the most space on the server.

exchange mailbox size

The worst thing about the whole thing is that the columns don’t even show up when you go to the Add/Remove Columns dialog in Exchange.

So how can you find out the size of a users mailbox in Exchange 2007? Well, until they bring back the columns in a future service pack, you have to use the command line.

For example, here is the command line you would use to get a list of all mailboxes with their sizes sorted from biggest to smallest. It will also give you the number of items in the mailbox and will list the sizes in MB.

Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label=”TotalItemSize(MB)”;expression={$_.TotalItemSize.Value.ToMB()}},ItemCount

If the above command does not work for some reason, you can also try this one:

Get-MailboxStatistics -Database “Mailbox Database” | Sort -Property TotalItemsize | Format-Table DisplayName, LastLoggedOnUserAccount, ItemCount, @{expression={$_.totalitemsize.value.ToMB()};label=”Size(MB)”}, LastLogonTime, LastLogoffTime

mailbox size exchange 2007

Note that if you just want to see the mailbox size of one mailbox, you can simply go to the Properties of the mailbox and view the size and number of items on the General tab.

One last way you can access this information is to install Exchange 2003 Management Tools on a different server and use it to view the size of Exchange 2007 mailboxes. Make sure not to use the tool to perform any management tasks, only to view information about mailboxes.

Hopefully future versions or service packs of Exchange 2007 will fix this problem, but for now you can either use the command line or use the Exchange 2003 Management Tools! Enjoy!

Comments [8]

  1. simply use Get-MailboxStatistics -database “Mailbox Database” | Select DisplayName, TotalItemSize | Format-Table

  2. You can also get that kind of information with an exchange reporting solution called message stats.

    It has quite a few built-in and custom exchange related reports like usage statistics or mailbox sizes.

    In our company with this tool we were able to calculate total cost of exchange ownership and estimate some plans for future growth and development.

  3. Just generating a size report is easy. I need to sort by mailbox size so I can MOVE the largest mailboxes into a separate Mailbox store. Does anybody know how to script that?

    IMO Microsoft really dropped the ball on this one.

  4. IMHO Exchange 2007 is a giant leap backwards administration wise.

    Exchange Management Shell??? (AKA…CMD Prompt)

  5. Sounds easier to uninstall Exchange 2007 and reinstall 2003 than all this farting about learning another language (again).

  6. can you help me please i need to get the following information for all mailboxes in one step.

    1-last logon time
    2-total item size now
    3-email address or organizational unit
    4- storage group

  7. Please advise how to find out the size of the MS Exchange 2007 database within MS SBS environment. It seems the security closes the ExchangeMailbox folder even for the admin user.

  8. Thanks for the code..worked great. I agree 100% that MS took a big step back with Exchange 07… I haven't seen Exc 2010 but I hope it doesn't lose more admin options or I'll move my company to gmail ;)

Leave a Reply

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