Quick Answer

How do you generate a mailbox size report in Microsoft 365?

Via Microsoft 365 Admin Center: Reports → Usage → Exchange → Mailbox usage → filter by Shared → Export to CSV.

Via PowerShell: Get-Mailbox -RecipientTypeDetails SharedMailbox | Get-MailboxStatistics | Export-Csv

The limitation: Native reports show storage and activity — but not response times, workload distribution, or SLA compliance. Email Meter fills that gap →

Knowing how your shared mailboxes are being used, storage consumption, access patterns, activity trends, is essential for IT admins managing Microsoft 365 environments. This guide covers how to access mailbox size reports via the Admin Center, Exchange Admin Center, and PowerShell, including scripts you can run today.

For a complete overview of shared mailboxes and how they work, see our shared mailbox complete guide. For licensing and storage limits, see our shared mailbox license guide.

Why do mailbox size reports matter in Microsoft 365?

Storage allocation

Shared mailboxes are free up to 50GB in Microsoft 365. Without monitoring, mailboxes can silently approach this limit and when they hit it, they stop sending email first, then stop receiving. Mailbox size reports give you early warning before disruptions occur.

Performance and access speed

Large mailboxes directly impact email performance and search speed. Monitoring mailbox sizes helps identify candidates for archiving or cleanup before performance degrades.

Compliance and data governance

Mailbox size reports help ensure that shared mailboxes comply with your organization's data retention policies and storage quotas essential for regulatory compliance in finance, healthcare, and other regulated industries.

Cost management

Shared mailboxes are free up to 50GB, but once they exceed that limit, an Exchange Online Plan 2 license is required. Monitoring mailbox sizes lets you plan license assignments before you hit the wall.

What's in a Microsoft 365 mailbox size report?

A mailbox size report from Microsoft 365 can include:

Storage and size data:

  • Total item size, how much storage each mailbox is consuming
  • Total item count, number of emails, calendar events, and other items
  • Storage quota status, how close each mailbox is to its limit

Activity and utilization data:

  • Last activity date, whether the mailbox is actively used or abandoned
  • Access patterns, who is accessing the mailbox and how often

Security and compliance data:

  • Access permissions, who has access to each shared mailbox
  • Audit log entries, changes to permissions, deletions, and other actions

How do you access mailbox size reports in Microsoft 365?

Via Microsoft 365 Admin Center

The simplest method, no PowerShell required.

  1. Sign in to the Microsoft 365 Admin Center (admin.microsoft.com)
  2. Navigate to Reports → Usage
  3. Click View more under Email activity
  4. Select Mailbox usage
  5. Use the filter to select Shared to isolate shared mailbox data
  6. View storage used, total items, quota status, and last logon time
  7. Click Export to download a CSV file
Note: If you see obfuscated usernames (e.g., user@example.com shown as anonymous), go to Settings → Org Settings → Reports and uncheck "Display concealed user, group, and site names in all reports."

Via Exchange Admin Center

  1. Go to Exchange Admin Center (admin.exchange.microsoft.com)
  2. Navigate to Recipients → Shared
  3. Select a shared mailbox → Mailbox Usage tab
  4. View current size, warning threshold, and send/receive limits

Via PowerShell

PowerShell gives you the most flexibility, bulk reporting, custom metrics, and automated exports.

Step 1: Connect to Exchange Online:

PowerShell
$UserCredential = Get-Credential
Connect-ExchangeOnline -UserPrincipalName $UserCredential.UserName -ShowProgress $true

Step 2: Get all shared mailbox statistics and export to CSV:

PowerShell
$sharedMailboxes = Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize Unlimited

$report = foreach ($mailbox in $sharedMailboxes) {
  $stats = Get-MailboxStatistics -Identity $mailbox.Identity
  [PSCustomObject]@{
    DisplayName = $mailbox.DisplayName
    PrimarySmtpAddress = $mailbox.PrimarySmtpAddress
    TotalItemSize = $stats.TotalItemSize.Value.ToString()
    ItemCount = $stats.ItemCount
    LastLogonTime = $stats.LastLogonTime
  }
}

$report | Export-Csv -Path "C:\SharedMailboxUsageReport.csv" -NoTypeInformation

Step 3: Get all user mailbox sizes sorted by largest:

PowerShell
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select-Object DisplayName, @{Name="TotalItemSize(GB)";Expression={[math]::Round($_.TotalItemSize.Value.ToGB(), 2)}} | Sort-Object "TotalItemSize(GB)" -Descending | Export-Csv -Path "C:\AllMailboxSizes.csv" -NoTypeInformation

What are the limitations of Microsoft 365 mailbox size reports?

Native Microsoft 365 mailbox reports have significant gaps that become apparent for teams managing shared mailboxes seriously.

Limited granularity in user activity

Reports don't show which specific user read, replied to, or deleted specific emails within the shared mailbox. You know the mailbox was accessed, not who did what.

No response time data

The biggest gap for customer-facing teams. Storage reports tell you how full the mailbox is — not how fast your team is responding to emails.

No workload distribution

You can't see which team members are handling the most volume within a shared mailbox.

Limited historical data

Native reports typically cover the last 180 days maximum. Long-term trend analysis requires third-party tools or data exports.

PowerShell dependency for advanced reporting

Generating detailed custom reports requires PowerShell scripting knowledge, which not all admins have.

No SLA tracking

If your team has committed to responding within 4 hours, there's no native way to track whether you're meeting that commitment.

Shared mailbox report vs individual mailbox report

Feature Shared Mailbox Report Individual Mailbox Report
Focus Team collaboration and collective usage Individual user activity and personal management
Storage tracking ✓ Per shared mailbox ✓ Per user mailbox
Access patterns ✓ Who accessed the shared mailbox ✓ Individual login activity
Permission management ✓ Full Access, Send As, Send on Behalf ✗ Not applicable
Response time tracking ✗ Not available natively ✗ Not available natively
Workload distribution ✗ Not available natively ✗ Not applicable
Best for IT admins managing team inboxes IT admins managing individual accounts

What do mailbox size reports not show you?

Mailbox size reports tell you how much storage your shared mailboxes are consuming. They don't tell you how well your team is managing them.

The questions that actually matter for customer-facing teams remain unanswered by native reports:

  • How long are customers waiting before getting a reply?
  • Which team member is handling the most volume?
  • What percentage of emails are being answered within your SLA target?
  • Which threads have gone unanswered for more than 24 hours?

Email Meter connects to your Microsoft 365 shared mailbox via the Microsoft Graph API and answers all of these automatically, response times per team member, workload distribution, SLA compliance rate, and unreplied email count, with automated weekly reports delivered to managers every Monday.

Real-world result: Payday HCM used Email Meter to monitor 5 shared mailboxes handling 200+ daily emails and cut response times from 5 hours to 2 hours, a 71% improvement. "Once you're able to actually see your stats, it gives you the ability to see if you're doing a good job, and who is really doing the work." — Lisa Reynolds, Operations Manager

For a complete guide on monitoring shared mailbox performance, see our how to monitor a shared mailbox guide.

Start tracking your shared mailbox performance →

Frequently Asked Questions

How do you generate a mailbox size report in Microsoft 365?

Via Microsoft 365 Admin Center: go to Reports → Usage → Exchange → Mailbox usage → filter by Shared → Export. Via PowerShell: use Get-Mailbox combined with Get-MailboxStatistics and Export-Csv for a detailed exportable report.

What is included in a Microsoft 365 shared mailbox usage report?

Total item size, item count, last logon time, storage quota status, and access patterns. Native reports do not include response time data, workload distribution, or SLA compliance tracking.

What are the limitations of Office 365 mailbox size reports?

Native reports lack response time data, per-member workload breakdowns, SLA compliance tracking, and detailed user activity within shared mailboxes. Historical data is limited to 180 days. Advanced reporting requires PowerShell scripting knowledge.

How do you export a mailbox size report to CSV in Microsoft 365?

Via Admin Center: Reports → Usage → Mailbox usage → Export. Via PowerShell: use Export-Csv at the end of your Get-MailboxStatistics command. See the PowerShell section above for the complete script.

What is the difference between a shared mailbox report and an individual mailbox report?

Shared mailbox reports focus on collective team usage, permissions, and storage for collaborative inboxes. Individual mailbox reports focus on personal user activity and storage management. Neither provides response time or SLA compliance data natively.

How do you track shared mailbox performance beyond storage usage?

Microsoft 365 native reports only cover storage and basic activity. For response times, workload distribution, SLA compliance, and unreplied email tracking, use Email Meter, which connects to your shared mailbox via API in under 5 minutes.