If you need to bulk edit calendar permissions for all members of a group, you need to use PowerShell as there is no way of doing it in the Exchange Management Console.
You can achieve this by combining the Get-ADGroupMember command and Add-MailboxFolderPermission command in the following manner:
1. Open the Exchange Management Shell
2. See the following one-liner examples:
This will give Jo Bloggs reviewer permissions to all members of the “List – Everyone” group:
1 |
foreach ($mailbox in (Get-ADGroupMember "List - Everyone" | Select -Expand distinguishedName)) { Add-MailboxFolderPermission $mailbox`:\calendar -User "Jo Bloggs" -AccessRights Reviewer } |
This will give the group “Calendar Editors” editor permissions to all members of “List – Account Managers”:
1 |
foreach ($mailbox in (Get-ADGroupMember "List - Account Managers" | Select -Expand distinguishedName)) { Add-MailboxFolderPermission $mailbox`:\calendar -User "Calendar Editors" -AccessRights Editor } |
If you receive an error message similar to the below:
The user “Calendar Editors” was found in Active Directory but isn’t valid to use for permissions. Try an SMTP address instead.
+ CategoryInfo : NotSpecified: (0:Int32) [Add-MailboxFolderPermission], InvalidInternalUserIdException + FullyQualifiedErrorId : E86DEE85,Microsoft.Exchange.Management.StoreTasks.AddMailboxFolderPermission
Then it is likely the group “Calendar Editors” was originally created as a distribution group and is not ready for it to be assigned permissions. You need to make sure it is a mail-enabled security group and the magic command to make it work is:
1 |
Set-DistributionGroup "Calendar Editors" -MemberDepartRestriction Closed |
(or replace “Calendar Editors” with your group’s name)