Learn Exchange the Guru way !!!


Exchange 2007 Mailbox usage reporting – User and Server level

Gotta impress your IT manager?? Do this… it will create quite an impression!!! 🙂

Recently, I had to deal with a mailbox size limit request.
User says, “Increase my mailbox size limit to another 2 gigs.”

Now, don’t be harsh on him. Rather, prove and let him know how good he is managing/organizing his mailbox.

Let me show you on how to do that.

Start with:

[PS] C:\Windows\System32>Get-MailboxStatistics brucew | ft DisplayName,TotalItemSize,ItemCount

DisplayName                TotalItemSize                     ItemCount

———–                      ……….————-                          ———

Willis, Bruce ……………..5787468431B                   156747

This cmdlet is going to show you the user mailbox is 5.39GB in size with over 150000 items.

Now run,

[PS] C:\Windows\System32>Get-MailboxfolderStatistics brucew | ft Name, ItemsInFolder, FolderSize >>C:\Ratish\brucew.txt

This cmdlet is going to show the Mailbox breakup by folder which is going to tell you what’s being consuming where? 99% times, you just have to tell the user to clean up his sent items or deleted items to gain couple of gigs free space.

It’s not a good practice to increase mailbox size limit coz down the line 6-8 months he is going to end up with very bad email experience with a huge mailbox and 100000+ items since his OST file keep growing, outlook stops responding, performance issue while switching from folder to folder etc.

Ok, now I know that Bruce Willis never cares to delete any of his emails…. What if I want to find this on a server level ??

Read on……………

Copy this and paste in a txt file:

Get-MailboxStatistics -server TypeServerNameHere | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label=”TotalItemSize(MB)”;expression={$_.TotalItemSize.Value.ToMB()}},storagegroupname,servername >C:\Output_MailboxReport.txt

Now, save the txt file to MailboxReport.ps1

Navigate to the shell and do this:

Now, all you need to do is to open the output (C:\Output_MailboxReport.txt) in Excel and sort users by high mailbox size and create a chart to showcase the top 10 users who are top contributors.

Ratish Nair
MVP Exchange
Team@ MSExchangeGuru

Keywords: Exchange 2007 mailbox size report, user mailbox folder breakup, PFDAVAdmin Exchange 2007, cmdlet to list mailbox item count, listing user mailbox, mailbox size reporting, extract user level mailbox size, extract server level mailbox size.

13 Responses to “Exchange 2007 Mailbox usage reporting – User and Server level”

  1. CypherBit Says:

    Very useful.

    Not sure if you’ll be able to assist me, but what I’m after is a report that tells me how many messages per week/month does a certain user receive/send and what size these are (or the sum in that particular period).

    Based on that I could probably grant a couple users different mailbox sizes. As it is right now I have no way of knowing if their workload, e-mail messages received/sent warrant an increase or is it just their laziness that has brought upon their large mailbox.

  2. Sunder Rajan Says:

    Good One Ratish.

  3. Ratish Sekhar Says:

    Native exchange aint got that functionality since no cmdlet can monitor a realtime activity.
    Promodag reports is a product which is capable of achieving what you asked for…. The product is worth a shot !!!
    Hope this helps….

  4. CypherBit Says:

    Ratish thank you for your prompt reply.

    I thought that Exchange doesn’t have the functionality to monitor real time, I’m thinking more along the lines of starting a counter, leave it running for a week/month and then get the results. Could something like LogParser be leveraged?

    Since Promodag has this capability I assume everything gets logged…somewhere, I’d just need a nudge in the right direction to know how to set this up, where to look for logs and then analyze it in some way.

  5. Selva Says:

    Great post… Thank you Ratish…

  6. Hitesh Soni Says:

    Ritesh, we can also schedule and get email at time period also with task

  7. Michael Shutts Says:

    Nice script, I use a similar one to pull info and import into an Access database. I use it to report on the “Fatties” and apply pressure on those users. It also allows historical tracking of users by date to show some trending.

    What I REALLY need now is a way to report on mailbox with counts of emails per year that are still sitting in storage.

    Like Bob Smith’s emailbox:
    2011 – 300 emails
    2010 – 40540 emails
    2009 – 595959 emails

    1997 – 1454 emails

    We are not allowed to prune “old” emails at this time and want to gather info on how much old information is still out there.


  8. Robert R Says:

    Thank you very much for this !!!
    Its really easy, and helps alot, now I have to go talk to these users that have huge mailboxes.

  9. Ratish Sekhar Says:

    @Robert – You may wanna try this too:

  10. Muthu S Says:

    Nice Script to generate the size usage report,

    Thanks guy’s


  11. Taylor Says:

    I’m trying to run this and it fails at the storagegroupname where I have changed it to First Storage Group does it need ‘First Storage Group’ to work??

  12. woramant Says:

    It work !!!! Thank you Very much

  13. Bisujaksha Says:

    Thanks it worked!!!

Leave a Reply




Do NOT follow this link or you will be banned from the site!