Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

How can we run a report of Exchange 2013 mailbox usage and quota?

Posted on 2014-07-24
10
Medium Priority
?
4,175 Views
Last Modified: 2014-07-31
We are running Exchange 2013.  We need to run a regular report that lists the following information:

Display Name
Mailbox size in MB
Deleted items in MB
Warning Quota in MB
Prohibit Send Quota in MB

I have experimented with various Exchange shell commands but cannot find one command that lists all this information; I have to run two and combine the results later.  Ideally the results would look something like this (in .txt or .csv format):

DisplayName     TotalItemSizeinMB TotalDeletedItemSize(MB) IssueWarningQuota ProhibitSendQuota                          
-----------     ----------------- ------------------------ ----------------- -----------------
Joe Bloggs                   6984                    59.39              9728             10240
Jane Doe                      159                     6.03         Unlimited         Unlimited

Open in new window

What command should I run to export this information to a file?  Thanks in advance!
0
Comment
Question by:David Haycox
10 Comments
 
LVL 14

Expert Comment

by:Justin Yeung
ID: 40217180
Get-Mailbox "a user"| Get-MailboxStatistics | Select DisplayName,TotalItemSize,TotalDeletedItemSize,@{N="IssueWarningQuota";E={(Get-Mailbox $_).IssueWarningQuota}},@{N="ProhibitSendQuota";E={(Get-Mailbox $_).prohibitsendquota}}
0
 
LVL 7

Expert Comment

by:tolinrome
ID: 40217287
I used to use this, and it puts it in an excel spreadsheet for you.

Get-mailbox |Get-MailboxStatistics| select DisplayName,Database,TotalItemSize,ItemCount,storagelimitstatus | export-csv C:\mailboxsizes.csv -NoTypeInformation
0
 
LVL 12

Expert Comment

by:Satish Auti
ID: 40217300
that one is only for single user.

if you want it for entire server then use below command.

get-mailbox -server <server> -ResultSize unlimited |
 Where {$_.UseDatabaseQuotaDefaults -eq $false} |
   ft DisplayName,IssueWarningQuota,ProhibitSendQuota,@{label="TotalItemSize(MB)";expression={(get-mailboxstatistics $_).TotalItemSize.Value.ToMB()}}

And if you want to export it file then use below

get-mailbox -server <server> -ResultSize unlimited |
 Where {$_.UseDatabaseQuotaDefaults -eq $false} |
   ft DisplayName,IssueWarningQuota,ProhibitSendQuota,@{label="TotalItemSize(MB)";expression={(get-mailboxstatistics $_).TotalItemSize.Value.ToMB()}} > C:\file name.csv
0
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

 
LVL 2

Author Comment

by:David Haycox
ID: 40226745
Justin Yeung: if I remove the "a user" from the command, this gives the right information, but not in the table format we want.

tolinrome: your command gives output in the required tabular format but doesn't display anything for quota (the "StorageLimitStatus" column is blank.

Satish Auti: if I remove the "-server" section (or specify it), this gives the correct information in columns, but only for users who are not set to use the database quota defaults.  If I miss out the "where" section though, this will display all mailboxes.

So we're nearly there - but can the output be formatted to use the same unit (MB or GB) for all columns, to make it easier to read?  For example, currently we are getting this:
DisplayName                   IssueWarningQuota             ProhibitSendQuota             TotalItemSize(MB)
-----------                   -----------------             -----------------             -----------------
Joe Bloggs                    9.5 GB (10,200,547,328 bytes) 10 GB (10,737,418,240 bytes)  7013
Jane Doe                      Unlimited                     Unlimited                     181

Open in new window

But would prefer something like this:
DisplayName                   IssueWarningQuota(MB)         ProhibitSendQuota(MB)         TotalItemSize(MB)
-----------                   ---------------------         ---------------------         -----------------
Joe Bloggs                    9728                          10240			  7013
Jane Doe                      Unlimited                     Unlimited                     181

Open in new window

0
 
LVL 14

Expert Comment

by:Justin Yeung
ID: 40227258
Get-Mailbox | Get-MailboxStatistics | ft DisplayName,@{N="Total Item Size (MB)";E={$_.TotalItemSize.value.tomb()}},@{N="Total Deleted Item Size (MB)";E={$_.TotalDeletedItemSize.value.tomb()}},@{N="IssueWarningQuota";E={(Get-Mailbox $_).IssueWarningQuota}},@{N="ProhibitSendQuota";E={(Get-Mailbox $_).prohibitsendquota}} 

Open in new window

0
 
LVL 2

Author Comment

by:David Haycox
ID: 40228605
That gives us the total deleted item size in MB, but the quota columns are listed in GB and bytes, like so:
DisplayName                Total Item Size (MB)     Total Deleted Item  IssueWarningQuota       ProhibitSendQuota
                                                              Size (MB)
-----------                -------------------- ----------------------- -----------------       -----------------
Joe Bloggs                                 7006                      23 9.5 GB (10,200,547,3... 10 GB (10,737,418,24...
Jane Doe                                    182                       7 Unlimited               Unlimited

Open in new window

I know it's easy enough to compare e.g. 7006MB with 10GB, but if it's possible to get all figures in either MB or GB (or bytes, for that matter) then that would be the ideal solution for us.  Thanks!
0
 
LVL 14

Expert Comment

by:Justin Yeung
ID: 40229262
Try this.

Get-Mailbox | Get-MailboxStatistics | ft DisplayName,@{N="Total Item Size (MB)";E={$_.TotalItemSize.value.tomb()}},@{N="Total Deleted Item Size (MB)";E={$_.TotalDeletedItemSize.value.tomb()}},@{N="IssueWarningQuota (MB)";E={(Get-Mailbox $_).IssueWarningQuota.Value.toMB()}},@{N="ProhibitSendQuota (MB)";E={(Get-Mailbox $_).prohibitsendquota.Value.ToMB()}} 

Open in new window

0
 
LVL 2

Author Comment

by:David Haycox
ID: 40229327
That's pretty much spot on, thanks!  Finally, is it possible to export this into CSV for easy import into Excel?
0
 
LVL 14

Accepted Solution

by:
Justin Yeung earned 2000 total points
ID: 40229343
if you want to export it, you will need to change "ft" to select
Get-Mailbox | Get-MailboxStatistics | Select DisplayName,@{N="Total Item Size (MB)";E={$_.TotalItemSize.value.tomb()}},@{N="Total Deleted Item Size (MB)";E={$_.TotalDeletedItemSize.value.tomb()}},@{N="IssueWarningQuota (MB)";E={(Get-Mailbox $_).IssueWarningQuota.Value.toMB()}},@{N="ProhibitSendQuota (MB)";E={(Get-Mailbox $_).prohibitsendquota.Value.ToMB()}} | export-csv "c:\export\exchangecsv.csv" -NoTypeInformation

Open in new window

0
 
LVL 2

Author Comment

by:David Haycox
ID: 40231217
Perfect!  Many thanks.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will help to fix the below errors for MS Exchange Server 2016 I. Certificate error "name on the security certificate is invalid or does not match the name of the site" II. Out of Office not working III. Make Internal URLs and Externa…
Exchange database can often fail to mount thereby halting the work of all users connected to it. Finding out why database isn’t mounting is crucial and getting the server back online. Stellar Phoenix Mailbox Exchange Recovery is a champion product t…
In this video we show how to create an email address policy in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Mail Flow…
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

578 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question