Public/Permissions/Add-ExMailboxFolderPermission.ps1
function Add-ExMailboxFolderPermission { <# .SYNOPSIS Short description .DESCRIPTION Long description .PARAMETER Mailbox Parameter description .PARAMETER Granted Parameter description .PARAMETER FolderList Parameter description .PARAMETER AccessRights The AccessRights parameter specifies the permissions that you want to add for the user on the mailbox folder. You can specify individual folder permissions or roles, which are combinations of permissions. You can specify multiple permissions and roles separated by commas. The following individual permissions are available: CreateItems: The user can create items within the specified folder CreateSubfolders: The user can create subfolders in the specified folder DeleteAllItems: The user can delete all items in the specified folder DeleteOwnedItems: The user can only delete items that they created from the specified folder EditAllItems: The user can edit all items in the specified folder EditOwnedItems: The user can only edit items that they created in the specified folder FolderContact: The user is the contact for the specified public folder FolderOwner: The user is the owner of the specified folder. The user can view the folder, move the folder and create subfolders. The user can't read items, edit items, delete items or create items. FolderVisible: The user can view the specified folder, but can't read or edit items within the specified public folder ReadItems: The user can read items within the specified folder The roles that are available, along with the permissions that they assign, are described in the following list: Author: CreateItems, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems Contributor: CreateItems, FolderVisible Editor: CreateItems, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems None: FolderVisible` NonEditingAuthor: CreateItems, FolderVisible, ReadItems Owner: CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderContact, FolderOwner, FolderVisible, ReadItems PublishingEditor: CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems PublishingAuthor: CreateItems, CreateSubfolders, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems Reviewer: FolderVisible, ReadItems The following roles apply specifically to calendar folders: AvailabilityOnly: View only availability data LimitedDetails: View availability data with subject and location .EXAMPLE An example .NOTES General notes #> [CmdletBinding()] param ( [Parameter(Mandatory)] [string] $Mailbox, [Parameter(Mandatory)] [string] $Granted, [Parameter(Mandatory)] [string[]] $FolderList, [Parameter(Mandatory)] [string[]] $AccessRights ) foreach ($Folder in $FolderList) { $StatSplat = @{ FolderScope = $Folder Identity = $Mailbox } $Location = ($Mailbox + ':\' + (Get-MailboxFolderStatistics @StatSplat | Select-Object -First 1).Name) $FolderPermSplat = @{ Identity = $Location User = $Granted AccessRights = ($AccessRights -split ',') } Add-MailboxFolderPermission @FolderPermSplat } } |