Write-Host "What is the UPN of user or group that should be added: " -NoNewline $upn = Read-Host Write-Host "What permissions should be applied: " -NoNewline $calendarPermission = Read-Host Write-Host "Granting $upn $calendarPermission permission to all mailboxes" $mailboxes = Get-EXOMailbox $totalMailboxes = $mailboxes.Count $processCount = 0 Write-Progress -Activity "Applying calendar permissions" -Status "Starting" -PercentComplete 0 foreach ($mailbox in $mailboxes) { $calendarPath = "$($mailbox.UserPrincipalName):\Calendar" $processCount++ $percentComplete = (($processCount / $totalMailboxes) * 100) Write-Progress -Activity "Applying calendar permissions" -Status "Processing $calendarPath" -PercentComplete $percentComplete Set-MailboxFolderPermission -Identity $calendarPath -User $upn -AccessRights $calendarPermission -SharingPermissionFlags None }