powershell-scripts/EXO/Set-GlobalMailboxPermissions.ps1

22 lines
890 B
PowerShell

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
}