network technician/administrator/manager blog
O365 Open Calendars
O365 Open Calendars

O365 Open Calendars

After years in my current company I finally got approval to set the default permissions for all user calendars to reviewer, so now anyone can see there fellow colleagues calendar and know if they are busy free but also details about the meet or appointment.

In this post i will go though step-by-step how to export current configuration for reference, then how to bulk change permissions of all users on an Office 365 tenancy.

NOTE: I highly recommend talking to you business comms team on getting some notice sent out to staff on this change. We all know some users work and personal life seem to merge, they may have personal appointments or HR staff may have confidential appointments. All a user needs to do to “hide” any meeting details is set the appointment to private.

Sign into Office 365 PowerShell – LINK TO HOW TO

So we have a record of current permissions, run the following command (Just need to change the csv export path)

Get-Mailbox | ForEach-Object {Get-MailboxFolderPermission $_”:\calendar”} | Select Identity, FolderName, User, AccessRights | Export-Csv -Path c:\support\Mailbox_Permissions_B4.csv -NoTypeInformation

Of the 3573 lines the majority of default permissions are AvailabilityOnly
(obscured names for anonymity)

As you can see in this small sample some users have gone to lengths to add there colleagues so they can share calendars. If you only want to check what default permissions are for records you can use the following command:

Get-Mailbox | ForEach-Object {Get-MailboxFolderPermission $_”:\calendar”} | Where {$_.User -like “Default”} | Select Identity, FolderName, User, AccessRights

Adding the following line if you want to output the results to csv:

| Export-Csv -Path c:\support\Mailbox_Permissions_B4.csv -NoTypeInformation

Now let’s change the Default user permission for the calendar folder. Instead of using Get-MailboxFolderPermission to check the permissions, we’ll use Set-MailboxFolderPermission to modify the existing permission.

Get-Mailbox | ForEach-Object {Set-MailboxFolderPermission $_”:\calendar” -User Default -AccessRights Reviewer}

Now let’s check the permissions are correct. We’ll use the same command as before.

Result, now all users have the Default user permission of their calendar folder set to Reviewer.