Is there a way to globally share everybody's calendar with everybody else?


It has been requested by the management of the organization I support that all users detailed calendar information be shared with everybody else by default.  Is there a way to do this in the admin center?



2 Replies

Unless it's changed more recently, no, this can't be done in the admin center but it's possible with PowerShell.  This can be applied in bulk, though test it before making any wide-ranging changes.  I did something like this in the past and it worked a treat and it was possible to schedule the script to run regularly. Here is one resource that talks about the necessary steps:


Office 365 PowerShell: How to bulk change Office 365 calendar permissions using Windows PowerShell


The code in that article assumes the name of the Calendar folder, thus will fail for any localized ones. Here's what I usually do:


$calendars = Get-Mailbox -RecipientTypeDetails UserMailbox | Get-MailboxFolderStatistics -FolderScope Calendar | ? {$_.FolderType -eq "Calendar"} | select @{n="Identity"; e={$_.Identity.Replace("\",":\")}}

$calendars | % {Set-MailboxFolderPermission -Identity $_.Identity -User Default -AccessRights LimitedDetails}