Tuesday, March 22, 2011

Manage Multiple Calendar Permissions with Exchange 2010 Shell

To edit all Calendars and set Default Calendar permission to Reviewer:

$Mailboxes = Get-Mailbox -ResultSize unlimited
$Mailboxes | ForEach {Set-MailboxFolderPermission $_":\Calendar" -User Default -AccessRights Reviewer}

Note:
  • Use different Set-MailboxFolderPermission cmdlets when using Outlook in different languages (English, Dutch etc).
    Example cmdlet to use with Outlook Dutch client (calendar translates to agenda in dutch): Set-MailboxFolderPermission mailbox:\Agenda -User Default -AccessRights Reviewer
  • The Set-MailboxCalendarFolder cmdlet configures publishing or sharing settings on a calendar folder of a specified mailbox. So, this cmdlet should be used when configuring Internet Calendar sharing.

6 comments:

  1. Looking for ages. First script that worked!

    ReplyDelete
  2. This is excellent however is there anyway to run this on mailboxes that are located just in one particular database?

    ReplyDelete
    Replies
    1. $Mailboxes = Get-Mailbox -database db-name -ResultSize unlimited

      Delete
  3. Didn't work for me ... What does the -User Default do? Does it apply it to all Mailbox calendars?

    ReplyDelete
    Replies
    1. -User Default means default user on Calendar permissions tab (name: Default)

      Delete
  4. Whats a command to get all current calendar permissions for an audit purpose?

    ReplyDelete