With Microsoft standard tools, you must use PowerShell to configure calendar permissions.
As a result of this, senior-level admins often need to get involved. This is more costly than using the first-level supporters and also increases the time to solution.
However, with third-party tools like Easy365Manager, first-level supporters can easily view and modify calendar permissions.
Manage Exchange Online Calendar Permissions Without PowerShell
Easy365Manager is a snap-in to AD Users & Computers that makes calendar permission management available to any skill level:
With Easy365Manager, you can even set complex calendar-sharing permissions like SharingPermissionsFlag.
You can install Easy365Manager on any server or client PC running AD Users & Computers, and Easy365Manager requires no changes to your infrastructure.
Download the fully functional 30-day trial here.
Manage Exchange Online Calendar Permissions With PowerShell
You need the Exchange Online Management PowerShell module to manage calendar access management with PowerShell.
Install the module by running the following command:
Install-Module ExchangeOnlineManagement
If your user base has mixed regional settings, you need to identify the path to the user’s calendar.
(if users are UK/US-based, it will simply be “/Calendar.”)
Use the following command to get the localized calendar path:
(Get-MailboxFolderStatistics lene.hau -FolderScope calendar | ? {$_.FolderType -eq 'Calendar'}).FolderPath
(replace the user name with the user you’re trying to configure)
Now that the calendar folder path has been identified, you can focus on four different PowerShell CmdLets:
- Get-MailboxFolderPermission
- Add-MailboxFolderPermission
- Set-MailboxFolderPermission
- Remove-MailboxFolderPermission
Use the Get-MailboxFolderPermission to view existing calendar permissions:
PS C:\> Get-MailboxFolderPermission lene.hau:\Calendar | ft -AutoSize FolderName User AccessRights SharingPermissionFlags ---------- ---- ------------ ---------------------- Calendar Default {AvailabilityOnly} Calendar Anonymous {None} Calendar Niels Bohr {Owner} Calendar Hans Christian Orsted {Editor}
Use the Add-MailboxFolderPermission to add new permissions to the calendar:
PS C:\> Add-MailboxFolderPermission lene.hau:\Calendar -User ole.romer -AccessRights Owner FolderName User AccessRightsSharingPermissionFlags ---------- ---- ---------------------------------- Calendar Ole Romer {Owner}
Use the Set-MailboxFolderPermission to modify existing permissions to the calendar:
PS C:\> Set-MailboxFolderPermission lene.hau:\Calendar -User niels.bohr -AccessRights Editor
After running the above commands, the calendar permissions now look like this:
Get-MailboxFolderPermission lene.hau:\Calendar | ft -AutoSize FolderName User AccessRights SharingPermissionFlags ---------- ---- ------------ ---------------------- Calendar Default {AvailabilityOnly} Calendar Anonymous {None} Calendar Ole Romer {Owner} Calendar Niels Bohr {Editor} Calendar Hans Christian Orsted {Editor}
Finally, you can remove assigned access rights using the Remove-MailboxFolderPermission CmdLet:
PS C:\> Remove-MailboxFolderPermission lene.hau:\Calendar -User hans.c.orsted
Summary
The PowerShell CmdLets supporting Exchange Online calendar permission configuration can be a little bit tricky:
You need one command to add new permissions and another to change existing ones.
In localized environments you need to identify the calendar path first.
For seasoned admins, this is completely fine. However, if you want to utilize senior admins more efficiently, you should consider using a third-party tool like Easy365Manager to delegate these tasks to first-level supporters.
Get the answer to the most common questions related to Easy365Manager here: