This is a tutorial on how to add calendar permissions in Office 365 for your users via Powershell. You can add permissions onto a specific mailbox, or you can add it onto a security group.
By default, Exchange (and Office 365) users can’t view messages or calendar items of other users. The only permission that is provided to all users by default is the ability to view free/busy information in the calendar of other users (AvailabilityOnly role).
Office 365 Calendar Permissions
The first is step is to launch Windows PowerShell. We recommend running it as Administrator.
Run the following command to login to 365 via Powershell and login with your Office 365 admin credentials:
Now you need to create a new session:
Now you need to import the Office 365 session:
You can view current calendar permissions of the specified mailbox by using following:
As you can see by default on a calendar folder assigned only AvailabilityOnly role.
You can get the list off all user’s calendars default permissions using the following command:
You can use these available access roles:
Owner — read, create, modify and delete all items and folders. Also this role allows manage items permissions;
PublishingEditor — read, create, modify and delete items/subfolders;
Editor — read, create, modify and delete items;
PublishingAuthor — read, create 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 only;
Contributor — create items and folders;
AvailabilityOnly — read free/busy information from calendar;
Now run the following command. In the example below, user2 would be able to open user1 calendar and edit it:
If you need to change the Default permissions for the calendar folder (in order to allow all users view calendar of the specified user), run the command:
In some cases, you need to grant Reviewer permissions on a calendar folder in all mailboxes to all users in your Exchange organization. You can make this bulk permission change using simple PowerShell script. To change Default calendar permission for all mailbox in mailbox database to Reviewer:
To remove permission use Remove-MailboxFolderPermission cmdlet:
Now you can disconnect from Office 365 your session: