igital workspace with a focus on Microsoft 365 Shared Mailbox Permissions

Shared mailboxes in Microsoft 365 are a vital component of collaborative work environments, allowing multiple users to read and send email from a common mailbox. Understanding and managing the permissions of these shared mailboxes is crucial for maintaining security and operational efficiency.

Permissions for shared mailboxes can be broadly categorized as follows:

  • Full Access: Grants a user complete control over the mailbox, including the ability to read, send, and delete emails, as well as manage contacts, calendar, and mailbox settings.
  • Send As: Allows a user to send email as the shared mailbox itself, without indicating the original sender’s identity.
  • Send on Behalf: Permits a user to send email on behalf of the shared mailbox, with the email header indicating that it was sent by one person on behalf of the shared mailbox.

Prerequisites for Exporting Shared Mailbox Permissions

Before you begin, ensure you have:

  1. Administrative Credentials: You must have admin rights in Microsoft 365 to access and modify mailbox permissions.
  2. PowerShell Setup: Ensure that PowerShell is installed and set up on your system. PowerShell 5.1 or later is recommended, along with the Exchange Online Management Module for the best compatibility.
  3. Necessary Permissions: Specifically, you need roles that allow you to manage mailbox permissions and generate reports.

Detailed Steps to Export Shared Mailbox Permissions

Step 1: Connect to Exchange Online PowerShell

  1. Launch PowerShell as an administrator on your computer.
  2. Execute the command below to connect to Exchange Online. You’ll be prompted to enter your admin credentials:

Connect-ExchangeOnline -UserPrincipalName youradmin@yourdomain.com

  1. Replace youradmin@yourdomain.com with your actual admin user principal name. This command establishes a session with Exchange Online, allowing you to execute further commands.

Step 2: Export Shared Mailbox Permissions to a CSV File

To generate the permission report, use the following PowerShell script. This script retrieves all shared mailboxes and their permissions, then exports the data to a CSV file.

$sharedMailboxes = Get-Mailbox -RecipientTypeDetails SharedMailbox
$permissions = foreach ($mailbox in $sharedMailboxes) {
Get-MailboxPermission $mailbox.Identity |
Where-Object { $_.User -notlike “NT AUTHORITY\SELF” -and $_.IsInherited -eq $false } |
Select-Object @{Name=”Mailbox”;Expression={$mailbox.DisplayName}}, User, AccessRights, IsInherited
$permissions | Export-Csv -Path “C:\SharedMailboxPermissions.csv” -NoTypeInformation

This script filters out self-permissions (where the mailbox has permission on itself) and inherited permissions, focusing on explicitly set permissions. It also labels each permission with the name of the mailbox for easier identification.

Step 3: Analyzing the Report

Open the SharedMailboxPermissions.csv file with Microsoft Excel or another spreadsheet software to analyze the permissions. The report contains the following columns:

  • Mailbox: The display name of the shared mailbox.
  • User: The user or group that has permissions on the mailbox.
  • AccessRights: Lists the types of permissions granted to the user (e.g., FullAccess, SendAs).
  • IsInherited: Indicates whether the permission is inherited (False for all entries in this report due to the script’s filter).

Tips for Analysis:

  • Sorting and Filtering: Use Excel’s sorting and filtering features to organize the data. For example, you can filter to show only mailboxes with SendAs permissions.
  • Regular Audits: Schedule regular audits of your shared mailbox permissions to ensure that access rights are kept up-to-date and comply with your organization’s security policies.


By following these detailed steps, administrators can create a comprehensive report on shared mailbox permissions in Microsoft 365. This report is invaluable for auditing purposes, ensuring compliance, and maintaining operational security. Regularly monitoring and adjusting these permissions as necessary helps protect sensitive information and streamline collaborative efforts within an organization.