Managing Exchange Calendars with PowerShell.
Some companies I deployed Exchange or Office 365 would like to be able to view readable information in everyone’s calendar by default you only get Free or Busy information. The following script changes the default calendar permissions for ALL Users folders to Reviewer – This gives you readable / not editable information.
foreach($user in Get-Mailbox -RecipientTypeDetails UserMailbox) { $cal = $user.alias+":\Calendar" Set-MailboxFolderPermission -Identity $cal -User Default -AccessRights Reviewer }
Senior management sometimes have PA’s that will need delegate access to their calendar, this this will include view calendar items that are marked as private.
To Set the delegate to view private items in the calendar
Add-MailboxFolderPermission –Identity <delegates mailbox>:\Calendar –User <delegated mailbox> -AccessRights Editor -SharingPermissionFlags Delegate,CanViewPrivateItems
To Set the delegate to not view private items in the calendar
Add-MailboxFolderPermission -Identity <delegates mailbox>:\Calendar -User <delegated mailbox> -AccessRights Editor -SharingPermissionFlags Delegate
To remove any individual calendar permission
Remove-MailboxFolderPermission -Identity "delegates mailbox:\Calendar" -user "delegated mailbox"