Shared Mailbox Access Report

Instantly audit who has access to what.
This report gives you a clear view of shared mailbox permissions across your tenant—crucial for security, compliance, and peace of mind.

Description:
Generate a report listing all users with Full Access to shared mailboxes. Perfect for security audits and handoff reviews.

# Connect to Exchange Online
Connect-ExchangeOnline -UserPrincipalName [email protected]

# Get all shared mailboxes and their access permissions
$sharedMailboxes = Get-Mailbox -RecipientTypeDetails SharedMailbox -ResultSize Unlimited

foreach ($mbx in $sharedMailboxes) {
    Get-MailboxPermission -Identity $mbx.Alias |
    Where-Object { $_.AccessRights -like "*FullAccess*" -and $_.User -notlike "NT AUTHORITY*" } |
    Select-Object @{Name="SharedMailbox";Expression={$mbx.DisplayName}},
                  @{Name="User";Expression={$_.User}},
                  AccessRights
}

Filters out system accounts like NT AUTHORITY\SYSTEM.

Modify the AccessRights filter if you need SendAs or SendOnBehalf reporting.

Great for auditing or onboarding/offboarding reviews.

Shared Mailbox Access Report

Generate a detailed report showing who has access to each shared mailbox in Exchange Online. Essential for security reviews and access audits.

🔗 View on GitHub

© 2012–2025 Jet Mariano. All rights reserved.

For usage terms, please see the Legal Disclaimer.

error: Content is protected !!