Managing Calendar Permissions with PowerShell

Controlling who has access to calendars is important. It would be a similar, if not the same, approach with files companies have for employees. Permissions are needed to decide who needs access to what. Not every employees needs to have the ability to see every item on a shared calendar for confidentiality reasons. This is where regulating the access is important and why admins constantly need to be prepared for the requests. Here, I will explain how to specifically control permissions to only a mailbox’s calendar.

Typical Procedure

I wanted to preface by saying you typically would like to create a shared mailbox in your Office 365 tenant (will make a post about that) and then delegate permissions to the appropriate users. As an admin, this will make it simple to manage and quickly make changes in the GUI (nothing wrong with using PowerShell too).

This setup is not ideal because there is lack of oversight. To elaborate, I remember a user requested this and the calendar was not visible on the Office 365 Admin Center. In this scenario, this calendar was created by a user and then shared the permissions with their co-workers. At initial thought, there is nothing wrong with this. However, the problem arises for management. This user-created calendar resides within the mail account of that user. One scary thought about this is if the user were to be terminated and someone deletes the mail account. The calendar would be gone as well.

The commands will be useful though regardless if the mailbox is for a user or a shared mailbox. Though, using these is necessary only if a user needs access to the calendar and that’s it (no mailbox access)

Commands

  • Connect to Exchange Online PowerShell Module
  • Search for the mailbox that has the calendar associated with it
    • Get-MailboxPermission -Identity (email address)
  • Then you decide on either adding, editing, or deleting permissions
  • Adding Permissions
  • Add-MailboxFolderPermission -Identity (email address associated with the calendar):\Calendar -User (email address getting access to calendar) -AccessRights Reviewer
  • Editing Existing Permissions
  • Set-MailboxFolderPermission -Identity (email address of mailbox’s calendar):\Calendar -User (email address getting access to calendar) -AccessRights Reviewer
  • Removing Permissions
  • Remove-MailboxFolderPermission -Identity (email address associated with the calendar):\Calendar -User (email address) -AccessRights Reviewer

Takeaway

Hope this guide is helpful of describing when to use these commands. stay tuned for more PowerShell and Office 365 content!