$allmailbox = Get-Mailbox -Resultsize Unlimited
Foreach ($Mailbox in $allmailbox)
{Set-mailboxfolderpermission identity ($Mailbox.alias+:calendar) user Default Accessrights AvailabilityOnly}
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 [email protected]: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 }