In this article, you can check how to Managing Mailbox Permissions using PowerShell in Office 365.
Efficient management of mailbox permissions is crucial for organizations utilizing Office 365. Granting appropriate access levels, such as full access, send-as, and on-behalf, enhances collaboration and communication workflows.
PowerShell, a powerful scripting language, provides robust capabilities for managing mailbox permissions. This article explores how to leverage PowerShell in Office 365 to Mailbox Permissions using PowerShell, including granting, updating, and revoking permissions. Additionally, we will discuss handling bulk requests for mailbox access.

Table of Contents
Understanding Access Levels
Before diving into the Mailbox Permissions using PowerShell, let’s briefly understand the different access levels:
Full Access
Grants complete control over another mailbox, including opening, viewing, creating, replying to, and deleting email messages, as well as managing other mailbox items like contacts, calendar events, and tasks.
Send As
Allows sending emails on behalf of another mailbox, making the recipient see the email as if it were sent directly from the mailbox itself.
Send on Behalf
Permits sending emails on behalf of another mailbox, with the recipient seeing both the user’s name and the mailbox owner’s name in the “From” field.
Granting Mailbox Permissions using PowerShell
To manage mailbox permissions using PowerShell in Office 365, follow these steps:
Connect to Exchange Online
Launch the PowerShell console and connect to your Exchange Online environment using the provided commands.
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
Granting Full Access Permission
Use the provided command to grant full access permission to a user on a specific mailbox.
Add-MailboxPermission -Identity "MailboxName" -User "Username" -AccessRights FullAccess -InheritanceType All
Granting Send As Permission
Execute the provided command to grant send-as permission to a user on a specific mailbox.
Add-RecipientPermission -Identity "MailboxName" -Trustee "Username" -AccessRights SendAs
Granting Send on Behalf Permission
Use the provided command to grant send-on-behalf permission to a user on a specific mailbox.
Set-Mailbox -Identity "MailboxName" -GrantSendOnBehalfTo "Username"
Updating Mailbox Permissions
To update the access level for a user on a specific mailbox, follow these steps:
Updating Full Access Permission
Use the provided command to update the full access permission for a user on a mailbox.
Set-MailboxPermission -Identity "MailboxName" -User "Username" -AccessRights FullAccess
Updating Send As Permission
Execute the provided command to update the send-as permission for a user on a mailbox.
Set-Mailbox -Identity "MailboxName" -GrantSendAsTo "Username"
Updating Send on Behalf Permission
Use the provided command to update the send-on-behalf permission for a user on a mailbox.
Set-Mailbox -Identity "MailboxName" -GrantSendOnBehalfTo "Username"
Revoking Mailbox Permissions
To remove permissions, use the following commands:
Revoking Full Access Permission
Use the provided command to remove full access permission for a user on a mailbox.
Remove-MailboxPermission -Identity "MailboxName" -User "Username" -AccessRights FullAccess -InheritanceType All
Revoking Send As Permission
Use the provided command to remove send-as permission for a user on a mailbox.
Remove-RecipientPermission -Identity "MailboxName" -Trustee "Username" -AccessRights SendAs
Revoking Send on Behalf Permission
Use the provided command to remove send-on-behalf permission for a user on a mailbox.
Set-Mailbox -Identity "MailboxName" -User "Username" -GrantSendOnBehalfTo $null
Managing Bulk Requests
To handle bulk requests for providing Mailbox Permissions using PowerShell, follow these steps:
Prepare a CSV File
Create a CSV file that contains the required information for each mailbox and the corresponding users to whom you want to grant access. The CSV file should include columns such as “MailboxName” and “Username” to specify the mailbox and the user, respectively.
Import the CSV File and Grant Permissions
Utilize the provided PowerShell script to import the CSV file and grant mailbox permissions based on the information provided.
$CSVPath = "C:\Path\to\CSV\File.csv"
$MailboxPermissions = Import-Csv -Path $CSVPath
foreach ($Permission in $MailboxPermissions) {
$MailboxName = $Permission.MailboxName
$Username = $Permission.Username
# Grant Full Access Permission
Add-MailboxPermission -Identity $MailboxName -User $Username -AccessRights FullAccess -InheritanceType All
# Grant Send As Permission
Add-RecipientPermission -Identity $MailboxName -Trustee $Username -AccessRights SendAs
# Grant Send on Behalf Permission
Set-Mailbox -Identity $MailboxName -GrantSendOnBehalfTo $Username
}
Conclusion
Now using the above cmdlets you can manage Mailbox Permissions using PowerShell. PowerShell in Office 365 offers a robust solution for efficient management. By leveraging its capabilities, administrators can easily grant, update, and revoke permissions for individual mailboxes. Moreover, handling bulk requests becomes seamless by utilizing CSV files and PowerShell scripts. This streamlined approach enhances productivity, ensures consistent access management, and enables organizations to maintain control over their Office 365 collaboration environment.
Visit Latestinfo365.com to check more article