Add or Amend Office 365 Calendar Permissions

First you will need to connect to Office 365 Exchange PowerShell using the below command to gather user credentials and then to connect the session.

Open PowerShell and Copy / Paste the command below and press Enter

$Cred = Get-Credential

Copy / Paste the command below and press Enter

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred-Authentication Basic –AllowRedirection Import-PSSession $Session

When the above has ran an imported all the required cmdlets Copy / Paste the command below substituting username for the email address of the user account you require changing and press Enter to display all the Calendar Permissions for the given user

Get-MailboxFolderPermission username:\calendar

Built-in Calendar and Mail Folder Access Roles – When managing calendar and mail folder permissions, you can use the following built-in Exchange roles:

  • Owner — gives full control of the mailbox folder: read, create, modify and delete all items and folders. Also this role allows to manage items permissions;
  • PublishingEditor — read, create, modify and delete items/subfolders (all permissions except the right to change permissions);
  • Editor — read, create, modify and delete items (can’t create subfolders);
  • PublishingAuthor — create, read all items/subfolders. You can modify and delete only items you create;
  • Author — create and read items; edit and delete own items;
  • NonEditingAuthor – full read access and create items. You can delete only your own items;
  • Reviewer — read folder items only;
  • Contributor — create items and folders (can’t read items);
  • AvailabilityOnly — read Free/Busy info from the calendar; LimitedDetails;
  • None — no permissions to access folder and files.

Now you know what permissions to wish to give you can Copy / Paste the command below command substituting user1@domain.com for the user who’s calendar you wish to change and user2@domain.com for the user who you wish to grant permission to and press Enter

Add-MailboxFolderPermission -Identity user1@domain.com:\calendar -user user2@domain.com -AccessRights Editor

If pre-existing permissions already exist and you want to just amend you can run the below command instead substituting user1@domain.com for the user who’s calendar you wish to change and user2@domain.com for the user who you wish to grant permission to and press Enter

Set-MailboxFolderPermission -Identity user1@domain.com:\calendar -User Default -AccessRights Reviewer Get-MailboxFolderPermission -Identity user1@domain.com:\calendar

NOTE: To get all mailbox perms in your organisation

Get-Mailbox | ForEach-Object {Get-MailboxFolderPermission $_”:\calendar”} | Where {$_.User -like “Default”} | Select Identity, User, AccessRights

To remove permissions from a calendar use the below substituting user1@domain.com for the user who’s calendar you wish to change and user2@domain.com for the user who you wish to grant permission to and press Enter

Remove-MailboxFolderPermission -Identity user1@domain.com:\calendar –user user2@domain.com

NOTE: To set all permissions back to default values

Get-MailboxFolderPermission user1@domain.com:\Calendar | % { Remove-MailboxFolderPermission -Identity $_.Identity -User $_.User }

If you found this article helpful, would you consider buying me a Coffee?