22 lines
890 B
PowerShell
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
|
|
} |