Bulk add Exchange 2010 Calendar Permissions using Powershell

posted 24 Sept 2012, 04:56 by Tristan Self
We had the need to add "reviewer" (read-only) permissions to all our staff Exchange 2010 mailbox calendars. Basically so any user could access any other user's mailbox calendar only.
You could add this manually one by one using a command like this:

Add-MailboxFolderPermission -identity "sAMAccountName:\calendar" -user Default -AccessRights Reviewer

But better would be something like this, which lists all the user accounts in the organisation and then applies the permissions to them one by one:

$allmailbox=get-mailbox -ResultSize Unlimited

Foreach ($item in $allmailbox){Set-mailboxfolderpermission –identity ($item.alias+’:\calendar’) –user Default –Accessrights Reviewer}

This could be scheduled to run automatically each week to keep any new accounts updated with the new permission if required.