Set calendar-permissions for mailboxes in Exchange Server 2010

I was looking for at way to set default calendar-permissions in exchange 2010, and found out that the only way to do this, is the scripting way.

So i found a script and modified it ( ALOT ) to fit my need

#Load Exchange Server 2010 Management Shell if not loaded.

if (-not (Get-PSSnapin | Where-Object {$_.Name -like "Microsoft.Exchange.Management.PowerShell.E2010"})){
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
}

#Custom variables
$mailboxes = Get-Mailbox
$AccessRights = "Reviewer"

#Loop through all mailboxes
foreach ($mailbox in $mailboxes) {

#Retrieve name of the user`s calendar
$calendar = (($mailbox.SamAccountName)+ ":\" + (Get-MailboxFolderStatistics -Identity $mailbox.SamAccountName -FolderScope Calendar | Select-Object -First 1).Name)

#Check if calendar-permission for user "Default" is set to the default permission of "AvailabilityOnly"
if (((Get-MailboxFolderPermission $calendar  | Where-Object {$_.User -like "Default"}).AccessRights) -like "AvailabilityOnly" ) {

Write-Host "Updating calendar permission for $mailbox..." -ForegroundColor Yellow

#Set calendar-permission for user "Default" to value defined in variable $AccessRights
Set-MailboxFolderPermission -User "Default" -AccessRights $AccessRights -Identity $calendar
}
}

And then a bat file to execute it from “scheduled task”

powershell -command "& 'C:\PATH-TO-FILE\Set-CalendarPermissions.ps1' "

VN:F [1.9.22_1171]
Rating: 5.3/6 (3 votes cast)
Set calendar-permissions for mailboxes in Exchange Server 2010, 5.3 out of 6 based on 3 ratings