34.1 C
Sunday, June 23, 2024

Working with Calendar Permissions in Bulk on Exchange 2010 Sp2

Wanted to collate all the calendar permissions which is used in Exchange 2010 Sp2.

Lets see How to Change Calendar Permissions in Bulk . To Restrict Free/busy or Allow Free/busy


How to Get Calendar Permissions For a Specific Mailbox ?


Default Calendar permissions of a Mailbox

Get-MailboxFolderPermission –Identity “EmailAddress”:\calendar |fl



How to Change (Allow/Restrict) Calendar Permission for a Specific Mailbox ?


To Allow Free/busy

Set-MailboxFolderPermission –Identity “EmailAddress”:\calendar -User Default -AccessRights AvailabilityOnly

To Restrict Free/busy

Set-MailboxFolderPermission –Identity “EmailAddress”:\calendar -User Default -AccessRights None



How to Change Calendar Permission in Bulk ?


To Allow Free/busy for all Mailboxes in the Organization


$allmailbox = Get-Mailbox -Resultsize Unlimited

Foreach ($Mailbox in $allmailbox)

{Set-mailboxfolderpermission –identity ($Mailbox.alias+’:\calendar’) –user Default –Accessrights AvailabilityOnly}


To Restrict Free/busy for all Mailboxes in the Organization


$allmailbox = Get-Mailbox -Resultsize Unlimited

Foreach ($Mailbox in $allmailbox)

{Set-mailboxfolderpermission –identity ($Mailbox.alias+’:\calendar’) –user Default –Accessrights None}



Note : Copy the Code into Notepad . Save As  .ps1 file and Locate the File in Exchange management Shell to execute it


How to Add a Calendar Permission Over a Maibox ?


Add-MailboxFolderPermission god@domain.com:\calendar -User Calendar-Admins -AccessRights reviewer


Note : You can Create a Universal Security Group – Mail Enable it – And You can add it

So that all the members of the security group and view this calendar




To Add a User or Security Group in Bulk over all the mailboxes in the Organization


$allmailbox = Get-Mailbox -Resultsize Unlimited

Foreach ($Mailbox in $allmailbox)

{Add-mailboxfolderpermission –identity ($Mailbox.alias+’:\calendar’) –user Calendar-Admins –Accessrights Reviewer}


To Remove a User or Security Group from all the mailboxes in the Organization


$allmailbox = Get-Mailbox -Resultsize Unlimited

Foreach ($Mailbox in $allmailbox)

{remove-mailboxfolderpermission –identity ($Mailbox.alias+’:\calendar’) –user Calendar-Admins }




Hope it will help as a Good reference point


Thank you

Satheshwaran Manoharan
Satheshwaran Manoharanhttps://www.azure365pro.com
Award-winning Technology Leader with a wealth of experience running large teams and diversified industry exposure in cloud computing. From shipping lines to rolling stocks.In-depth expertise in driving cloud adoption strategies and modernizing systems to cloud native. Specialized in Microsoft Cloud, DevOps, and Microsoft 365 Stack and conducted numerous successful projects worldwide. Also, Acting as a Technical Advisor for various start-ups.

Related Articles


  1. Hello Satheshwaran, Thank you for a good article. I was wondering if it will be possible to restrict calendar permissions for a certain user. lets say Hank. So, if “default” has Editor rights it will count for all users, including Hank. But I want hank to have free/busy only. I can set the perisssion and Hank is listed as free/busy, but “defaults” permission overrules and gives Hank Editor rights. Is there a way to set a deny permission for Hank?

  2. Hi Satheshwaran,
    You helped me a great deal with this. I still have a prolem with Calendar rights. Default rights are assigned to LimitedDetails. However some users already had AvailabilityOnly or LimitedDetails assigned to some mailboxes. How do I remove all AvailabilityOnly/LimitedDetails rights for those users on these mailboxes?

    Thanks in advanse,


  3. Hi Satheshwaran,

    I am trying to figure out a way of using the Get-MailboxFolderPermission command to get all mailbox calendar permissions without having to specify a single Identity as above.


  4. Hello, it is posible to give an account the permission to add meeting to all users? I have an admin account and need the permission to ad a meeting to all users every time its neecsary.
    It is posible in some way to do this in Exchange Management Console or in Powershell??
    Thank you very much

  5. That’s really helpful. Thanks. Any suggestions for a similar process in Exchange Online using Office 365 Groups. So all members in the group can e.g. be a Reviewer for each others calendar?


Please enter your comment!
Please enter your name here