Firstly, connect to Exchange Online Powershell, like described here:
Then copy-paste this to a powershell.ps1 file, like calrights.ps1:
Foreach ($mbx in get-mailbox){
$calendar=$mbx.alias+”:\Calendar”
Add-mailboxfolderpermission -identity $calendar -user call -AccessRights Reviewer
}
- USERNAME is the user you will give the rights spcified, here is is the user “call”
- PERMISSION is the permission level (role) you want to give that user. The options are:
- Author CreateItems, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems
- Contributor CreateItems, FolderVisible
- Editor CreateItems, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems
- None FolderVisible
- NonEditingAuthor CreateItems, FolderVisible, ReadItems
- Owner CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderContact,FolderOwner, FolderVisible, ReadItems
- PublishingEditor CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible,ReadItems
- PublishingAuthor CreateItems, CreateSubfolders, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems
- Reviewer FolderVisible, ReadItems
Normally Reviewer is enough for ex. 3.party to take telephone calls and check if user is occupied.
NOTE: If permissions for this user have already been defined, this cmdlet will not replace it!
Source: https://www.itjon.com/give-one-user-access-to-everyone-elses-calendar-in-office-365/