logo logo

Exchange 2010 Set Calendar and Contact Permissions Globally

Background:
Some companies may have two basic roles in their organization, Agents and Supporting Staff/Staff.  Their goal is for all everyone’s’ calendar and contacts to be available to one another.  The caveat is that the basic role will determine the permissions a user will have.

 

Agents Calendar: Agents = Reviewer, Staff = Editor

Agents Contacts: Agents = Reviewer, Staff = Editor

Staff Calendar: Agents = Reviewer, Staff = Editor

Staff Contacts: Agents = Reviewer, Staff = Editor

 

So what we need to do is log into everyone’s Outlook account and add the appropriate permissions to both Contact and Calendars.  The easier way is to use the Exchange Powershell.  The first thing to do is to log into the Exchange Server, browse to Distribution Groups in Exchange and create two security groups, Staff and Agents.  Then added the appropriate members to each.  In the future, we can just add new users to the appropriate group and not have to adjust the Outlook permissions.

Here are the commands to use in the Exchange Powershell:

  1. Set Your Variable (this selects every mailbox)
    1. $Mailboxes = Get-Mailbox -ResultSize unlimited

 

  1. For every mailbox, add the Agents user (security group) and give them Reviewer rights to the mailbox’s calendar
    1. $Mailboxes | ForEach {Add-MailboxFolderPermission $_”:\Calendar” -User “DomainName\Agents” -AccessRights Reviewer}

 

  1. For every mailbox, add the Agents user (security group) and give them Reviewer rights to the mailbox’s contacts
    1. $Mailboxes | ForEach {Add-MailboxFolderPermission $_”:\Contacts” -User “DomainName\Agents” -AccessRights Reviewer

 

  1. For every mailbox, add the Staff user (security group) and give them Editor rights to the mailbox’s calendar
    1. $Mailboxes | ForEach {Add-MailboxFolderPermission $_”:\Calendar” -User “DomainName\Agents” -AccessRights Editor}

 

  1. For every mailbox, add the Staff user (security group) and give them Editor rights to the mailbox’s contacts
    1. $Mailboxes | ForEach {Add-MailboxFolderPermission $_”:\Contacts” -User “DomainName\Agents” -AccessRights Editor}

 

*Note: If the user already exists, use the Set-MailboxFolderPermission instead of Add-MailboxFolderPermission

bottom