Home Code Calendar Permissions and Renaming using Powershell

Calendar Permissions and Renaming using Powershell


Remote Exchange

Just a note for me on a few commands to quickly modify the AccessRights (permissions) of shared calendars.

Let’s say the calendar in question is not the main calendar but instead a shared calendar called Time Away Calendar. You would review the permissions for each user by using the Get command:

Get-MailboxFolderPermission “user@contoso.com:\calendar\Time Away Calendar”

To add Reviewer permissions and send a Calendar Sharing Invitation to the user, use the Add command:

Add-MailboxFolderPermission -Identity “user@contoso.com:\calendar\Time Away Calendar” -AccessRights Reviewer -User “User2FirstName User2LastName” -SendNotificationToUser $true 

To modify Reviewer permissions to Author, use the Set command:

Set-MailboxFolderPermission -Identity “user@contoso.com:\calendar\Time Away Calendar” -AccessRights Author -User “User2FirstName User2LastName”

That would set User2’s permissions on that calendar to Author.

To Remove permissions, use:
Remove-MailboxFolderPermission -Identity “user@contoso.com:\calendar\Time Away Calendar” -User “User2FirstName User2LastName”


4/14/22 – Couple notes: Users control the names of their Calendars. The owner of the shared calendar can rename their calendar, but it won’t affect the name of the Calendar for anyone they have previously shared it with.
Let me save you a lot of googling:
By design, users need to proactively accept new calendar sharing requests (usually by Accepting the sharing invitation email that pops when the owner adds them on using Permissions dialog).
There is no Powershell way around this requirement. 

You CAN use Powershell to send the sharing invitation email from owner to user, BUT it only applies when you are setting AccessRights to AvailabilityOnly, LimitedDetails, Reviewer, or Editor.
That command looks like this:
Add-MailboxFolderPermission -Identity user1@domain.com:\calendar -user user2@domain.com -AccessRights Editor -SendNotificationToUser $true

As I frequently want the end result to be a custom AccessRight of Author, to change the Calendar name for an existing user would require running three commands per user; one to remove the rights (see documentation), the next to set rights to one of the above levels while also sending the invite and the third to modify those rights to Author (usually done after they accept the original invite). 

Side Note: You might want to wait on running the last two commands until after Outlook cleans up the removed calendar. I found that it clears up in 24 hours or less. 

Alternate solutions would be to ask all the users to rename the calendar themselves, OR you could give yourself full-access to all affected user accounts and rename them by hand. 

Note: I didn’t test any AccessRights given to a Distribution group. I’d love to know what (if anything) happens to the calendars of a new member of a distribution group AFTER the calendar owner has previously sent out the initial sharing invitation. If you know, please comment below.


Please enter your comment!
Please enter your name here