I had a request from a customer the other week asking if it is possible to grant all users read only permission to each other’s calendars in Exchange 2013. The only way to achieve this in bulk is using Exchange Management Shell. Below is the script I created to filter out distribution, room and discovery mailboxes and apply only to user mailboxes
$LogFile = “c:\CalendarPermissions.txt” ;
$Mailbox = Get-Mailbox -Filter {(RecipientType -eq “UserMailbox” -and Name -notlike “Discovery*”)} -ResultSize Unlimited;
ForEach ($MailUser in $Mailbox){
Set-MailboxFolderPermission -Identity ($MailUser.alias+’:\Calendar’) -User Default -AccessRights Reviewer;
$MailUser.Name | Out-File $LogFile -Append
Get-MailboxFolderPermission -Identity ($MailUser.Name+’:\Calendar’) | Out-File $LogFile -Append;
Write-Host “All Users have been granted Reviewer Rights to $MailUser Calendar” -ForegroundColor Green;
}
Mark is an Independent Microsoft Teams Consultant with over 15 years experience in Microsoft Technology. Mark is the founder of Commsverse, a dedicated Microsoft Teams conference and former MVP. You can follow him on twitter @UnifiedVale