Native Way to Manage Calendar Permissions in Office 365 using PowerShell

Office 365 Calendars permissions to selective Office 365 users or administrator can be managed or controlled automatically through the use of the PowerShell commands. Once you get the knowledge about the type of permissions available for accessing, viewing or modifying Calendar folder, you can head on to the ultimate process of connecting the Exchange Online PowerShell and executing commands in PowerShell to manage Calendar permissions on your own.

Types of Calendar folder permissions

Below is provided the complete list of the available Calendar folder permissions which you can assign to user mailboxes in Office 365.

Folder Permission Name Assigned Permissions
OWNER Create, read, modify, and delete all items and files. Create subfolders. Can modify permission levels which others have for the folder. (Does not apply to delegates)
EDITOR Create, read, modify, and delete all items and files
PUBLISHING EDITOR Create, read, modify, and delete all items and files. Create subfolders.
AUTHOR Create and read items and files, and modify and delete items and files that you create
PUBLISHING AUTHOR Create and read items and files, create subfolders, and modify and delete items and files that you create
CUSTOM Perform activities defined by the folder owner
CONTRIBUTOR Create items and files only. The contents of the folder do not appear
REVIEWER Read items and files only
NONE You have no permissions. You can’t open the folder

Connecting Office 365 to PowerShell (Exchange Online PowerShell)

It is important to know the process of connecting your Office 365 account to Windows PowerShell turning it into the Exchange Online PowerShell to utilize its cmdlets to manage (assign, modify or remove) Calendar permissions in Office 365.

Procedure

  1. Search Windows PowerShell on your system using the Search option, right-click on the PowerShell icon result and select the Run as administrator option from the drop-down list to launch it as a system administrator.
  2. On the Windows PowerShell screen, first execute this command to set the execution policy.
    Set-ExecutionPolicy RemoteSigned -Force
  3. Next, run the following command to secure your Office 365 account administrator credentials to the PowerShell variable.
    $UserCredential = Get-Credential
  4. Running the above command would open the dialogue box to enter Office 365 account admin credentials. Provide the administrator user name and password details. Click OK.
  5. Start or create a new session in the PowerShell using the following command as it is.
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic –AllowRedirection
  6. Run this final command to import Office 365 variables to the session.
    Import-PSSession $Session
  7. Now the Exchange Online PowerShell is ready for use.

Using PowerShell commands to manage Calendar permissions in Office 365

Once you are connected to the Exchange Online PowerShell, you can continue with the following set of PowerShell commands to manage Calendar permissions in Office 365.

  1. Getting details of the default Calendar permissions:

    To check the current Calendar permissions for a specific user, you can run this command.

    Get-MailboxFolderPermission -Identity user@domain.com:\Calendar

    Provide the user name and domain name in the above command.

    To get the list of the complete Office 365 user mailboxes’ default Calendar permissions, this is the command.

    Get-Mailbox | ForEach-Object {Get-MailboxFolderPermission $_”:\calendar”} | Where {$_.User -like “Default”} | Select Identity, User, AccessRights
  2. Adding a new Calendar permission to a new user:

    Here, we are displaying an example by providing the “Reviewer” access right to a specific user. Run this command.

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

    In the above command, user1 calendar permission is assigned to the user 2 and the permission is reviewing. You can add any permission from the above table list.

  3. Setting or modifying the default Calendar permissions:

    It is possible to modify the selective user mailbox Calendar permission and let is viewable (or any other permission like Editor) to all other users with the following command.

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

    In the above command, provide the user and domain name of which you want to modify the default set permission.

    To set specific user permission to the mailbox Calendar of another user, use this command.

    Set-MailboxFolderPermission -Identity user@domain.com:\Calendar -User user2@domain.com -AccessRights Editor
  4. Removing a Calendar permission:

    To remove the already set access permission on a user mailbox Calendar to another user, here is the command.

    Remove-MailboxFolderPermission -Identity user1@domain.com:\Calendar -User user2@domain.com

    After managing the Calendar permissions on the desired user mailboxes in your Office 365 account, you can end the Exchange Online PowerShell session with the following command.

    Remove-PSSession $Session

Hence, we have just learned the process to connect Exchange Online PowerShell and use of different commands to manage Calendar folder permissions of the user mailboxes. The method is quite technical and requires related skills in users to avoid any manual mistakes while commands execution as it can lead to data loss as well. So, a good expertise is definitely required.

If you are interested in backup of your Office 365 mailboxes and other content well to your system location, we recommend you to try the Office 365 Backup software. It automatically backup selected Office 365 data to the defined system location in the specified file format.

Summary

Managing Calendar permissions in Office 365 is an easy task when users have the knowledge of PowerShell commands. All the required information related to the same is explained thoroughly in this blog which users can make use in their advantage.