Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking for a tool (preferably free) that can analyze the usage in an Exchange mailbox similar to "folder size" type tools for file shares. I'd like to be able to see how space is consumed in a mailbox (items, calendar, tasks, etc.) as well as what kind of attachments (doc, xls, mp3, etc.) are present.

Any recommendations?

share|improve this question

You could definatley write something to get your individual folder sizes (calendar, tasks etc) this in Powershell, im not to sure on the types of attachments though.

You would use the -FolderScope parameter to focus on particualr folder, so for the calendard it would be:

Get-MailboxFolderStatistics -Identity $user -FolderScope "Calendar" 
|select FolderAndSubfolderSize

You could combine a number of these calls to get sizes for all folders.

share|improve this answer

A quick search for scripts that might do what you're talking about turned up a couple of hits:

Both of these are older, but look like they have some potential to be hacked into shape.

The first one looks interesting enough that I think I'll pull it apart and see how it acts against an E2K7 server at a Customer site. (The code looks awful to read and has some spelling errors, but after some prettifying I think it's probably a winner. If nothing else, I'll probably use it as pseudocode to write my own...)

BTW: Any scripts that you find on the 'net that use the \.\BackOfficeStorage mechanism to get to the Exchange store aren't going to work in E2K7.

share|improve this answer
you are right- ugh! – Jim B Jul 14 '09 at 22:36


Get-MailboxStatistics -Database "mailbox database" | Sort -Property DisplayName | ft DisplayName, @{expression={$_.totalitemsize.value.ToMB()};label="Mailbox Size(MB)"}, itemcount, lastlogontime, lastlogofftime,lastloggedonuseraccount

As a bonus it sorts by displayname

If you don't want to specify database name:

get-mailbox | get-mailboxstatistics | select-object DisplayName,TotalItemSize,StorageLimitStatus,LastLogonTime

Attachment type and size is an interesting question, I'll have to see if that possible without chugging through each message, if you do have to do it per message I'd say it's not worth the effort unless you are looking at some compliance issue (but then I'd say start creating transport rules)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.