Pretty easy! First connect your powershell to exchange as described here
Then run this:
Foreach ($mbx in get-mailbox){ $calendar=$mbx.alias+":\Calendar" Add-mailboxfolderpermission -identity $calendar -user USERNAME -AccessRights PERMISSION }
- USERNAME is the name of the user that you want to give the permissions to
- PERMISSION is the permission level (role) you want to give that user. The options are:
- Author CreateItems, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems
- Contributor CreateItems, FolderVisible
- Editor CreateItems, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems
- None FolderVisible
- NonEditingAuthor CreateItems, FolderVisible, ReadItems
- Owner CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderContact,FolderOwner, FolderVisible, ReadItems
- PublishingEditor CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible,ReadItems
- PublishingAuthor CreateItems, CreateSubfolders, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems
- Reviewer FolderVisible, ReadItems
Hit enter and let ‘er rip.
NOTE: If permissions for this user have already been defined, this cmdlet will not replace those pre-existing permissions.