Exchange ServerHow-to

Exchange Server calendar and folder permissions: Add-MailboxFolderPermission and delegates

Grant and change calendar and folder permissions in Exchange Server with PowerShell, handle localized folder names, set up real delegates and fix the two common errors.

"Can you give my assistant access to my calendar?" is a daily request, and on Exchange Server the cleanest answer is a folder permission set in the Exchange Management Shell. The cmdlets are simple, but they're picky about folder names, about adding versus changing an entry, and about the difference between calendar access and a real delegate. In this post I'll cover the syntax, the roles, delegates and the two errors everyone hits.

Errors this guide fixes

  • An existing permission entry was found for userAdd-MailboxFolderPermission
  • UserAlreadyExistsInPermissionEntryExceptionExchange Management Shell
  • There is no existing permission entry found for userSet-MailboxFolderPermission
  • UserNotFoundInPermissionEntryExceptionExchange Management Shell
How this guide is organized: How folder permissions work → Step-by-step → The two errors and what they mean → Verify → Tips & gotchasFlow diagram of the article's sections in reading order: 1. How folder permissions work. 2. Step-by-step (5 steps: Check what's already there; Find the real folder name; Add, change or remove an entry; Script it safely: add or set; Make someone a real delegate). 3. The two errors and what they mean. 4. Verify. 5. Tips & gotchas. Toolbox: Add-MailboxFolderPermission, Remove-MailboxFolderPermission, Set-MailboxFolderPermission, Delegate Access › Add, AvailabilityOnly.1How folderpermissions w…2Step-by-step3The two errorsand what they…4Verify5Tips & gotchas1Check what'salready there2Find the real foldername3Add, change orremove an entry4Script it safely: addor set5Make someone areal delegateTOOLBOXAdd-MailboxFolderPermissionRemove-MailboxFolderPermissionSet-MailboxFolderPermissionDelegate Access › AddAvailabilityOnlyHow this guide is organized: How folder permissions work → Step-by-step → The two errors and what they mean → Verify → Tips & gotchasFlow diagram of the article's sections in reading order: 1. How folder permissions work. 2. Step-by-step (5 steps: Check what's already there; Find the real folder name; Add, change or remove an entry; Script it safely: add or set; Make someone a real delegate). 3. The two errors and what they mean. 4. Verify. 5. Tips & gotchas. Toolbox: Add-MailboxFolderPermission, Remove-MailboxFolderPermission, Set-MailboxFolderPermission, Delegate Access › Add, AvailabilityOnly.1How folder permissions work2Step-by-step1Check what's already there2Find the real folder name3Add, change or remove an entry4Script it safely: add or set5Make someone a real delegate3The two errors and what they mean4Verify5Tips & gotchasTOOLBOXAdd-MailboxFolderPermissionRemove-MailboxFolderPermissionSet-MailboxFolderPermissionDelegate Access › AddAvailabilityOnly
At a glance: how this guide is organized · 5 steps · 5 key settings and tools

How folder permissions work#

  • Every mailbox folder has its own permission list. Besides named users and groups it has two built-in entries: Default (everyone in the organization without their own entry) and Anonymous (unauthenticated users). On calendars, Default is typically AvailabilityOnly.
  • Folders are addressed as Mailbox:\Folder or Mailbox:\Parent\Subfolder, for example ayla@contoso.com:\Calendar or Ayla:\Inbox\Reports.
  • The folder name is the one in the mailbox's language. A German mailbox has Kalender, not Calendar.
  • You can grant permissions to mailboxes, mail users and mail-enabled security groups (nested groups included). Plain distribution groups don't work because they aren't security principals.
  • Four cmdlets do the work: Get-, Add-, Set- and Remove-MailboxFolderPermission. Add creates a new entry; Set replaces the rights of an existing entry.
  • The -SharingPermissionFlags and -SendNotificationToUser parameters you'll see in examples online work only in Exchange Online. They don't exist for Exchange Server mailboxes.

The roles#

RoleWhat the user can do
OwnerEverything, including creating subfolders and managing the folder.
PublishingEditorLike Editor, plus create subfolders.
EditorRead, create, edit and delete all items.
PublishingAuthorLike Author, plus create subfolders.
AuthorRead and create items; edit and delete only their own.
NonEditingAuthorRead and create items; delete only their own; no editing.
ContributorCreate items and see the folder, but not read its contents.
ReviewerRead only.
LimitedDetailsCalendars only: free/busy plus subject and location.
AvailabilityOnlyCalendars only: free/busy times.
NoneNo access.

Step-by-step#

Delegate, Add or Set: what a calendar access request needsShould the assistant receive the manager's meeting requests? if Yes: Add a delegate in classic Outlook (Editor rights alone don't make a delegate; Delegate Access also grants Send on Behalf.); if No: Does the folder identity use the mailbox's language? if No: Use the real folder name (Ask Exchange for the calendar's actual name, for example Kalender.); if Yes: Does the user already have an entry on the folder? if Yes: Change it with the Set cmdlet (Add fails with: An existing permission entry was found.); if No: Create it with the Add cmdlet (Set fails with: There is no existing permission entry found.)Should the assistant receivethe manager's meetingrequests?FIXAdd a delegate inclassic OutlookEditor rights alone don'tmake a delegate; DelegateAccess also grants Send onBehalf.YesDoes the folder identity use themailbox's language?FIXUse the real foldernameAsk Exchange for thecalendar's actual name, forexample Kalender.NoDoes the user already have anentry on the folder?FIXChange it with the SetcmdletAdd fails with: An existingpermission entry was found.YesFIXCreate it with the AddcmdletSet fails with: There is noexisting permission entryfound.NoYesNoDelegate, Add or Set: what a calendar access request needsShould the assistant receive the manager's meeting requests? if Yes: Add a delegate in classic Outlook (Editor rights alone don't make a delegate; Delegate Access also grants Send on Behalf.); if No: Does the folder identity use the mailbox's language? if No: Use the real folder name (Ask Exchange for the calendar's actual name, for example Kalender.); if Yes: Does the user already have an entry on the folder? if Yes: Change it with the Set cmdlet (Add fails with: An existing permission entry was found.); if No: Create it with the Add cmdlet (Set fails with: There is no existing permission entry found.)Should the assistant receive the manager'smeeting requests?YesFIXAdd a delegate in classic OutlookEditor rights alone don't make a delegate; DelegateAccess also grants Send on Behalf.NoDoes the folder identity use the mailbox'slanguage?NoFIXUse the real folder nameAsk Exchange for the calendar's actual name, forexample Kalender.YesDoes the user already have an entry onthe folder?YesFIXChange it with the Set cmdletAdd fails with: An existing permission entrywas found.NoFIXCreate it with the Add cmdletSet fails with: There is no existingpermission entry found.
Figure 1 · Decision tree Delegate, Add or Set: what a calendar access request needs. Answer from the top to choose between a real delegate and a folder permission, and between the Add and Set cmdlets.

1. Check what's already there#

PowerShell
Get-MailboxFolderPermission -Identity "ayla@contoso.com:\Calendar" |
    Format-Table FolderName, User, AccessRights -AutoSize

2. Find the real folder name#

If the identity fails for a mailbox in another language, ask Exchange for the calendar folder's actual name:

PowerShell
Get-MailboxFolderStatistics -Identity ayla@contoso.com -FolderScope Calendar |
    Format-Table Name, FolderPath, FolderType -AutoSize

The default calendar is the entry whose FolderType is Calendar. Use its name in the identity, for example ayla@contoso.com:\Kalender.

3. Add, change or remove an entry#

PowerShell
# New entry
Add-MailboxFolderPermission -Identity "ayla@contoso.com:\Calendar" -User julia@contoso.com -AccessRights Editor

# Change an existing entry (the new rights replace the old ones)
Set-MailboxFolderPermission -Identity "ayla@contoso.com:\Calendar" -User julia@contoso.com -AccessRights Reviewer

# Show subject and location to everyone in the organization
Set-MailboxFolderPermission -Identity "ayla@contoso.com:\Calendar" -User Default -AccessRights LimitedDetails

# Remove an entry
Remove-MailboxFolderPermission -Identity "ayla@contoso.com:\Calendar" -User julia@contoso.com -Confirm:$false

4. Script it safely: add or set#

Scripts that run against many mailboxes hit both errors below sooner or later. Check for an entry first:

PowerShell
$folder = "ayla@contoso.com:\Calendar"
$user   = "julia@contoso.com"
$entry  = Get-MailboxFolderPermission -Identity $folder -User $user -ErrorAction SilentlyContinue
if ($entry) { Set-MailboxFolderPermission -Identity $folder -User $user -AccessRights Editor }
else        { Add-MailboxFolderPermission -Identity $folder -User $user -AccessRights Editor }

5. Make someone a real delegate#

On Exchange Server, Editor rights on a calendar let the assistant manage items and accept or decline a meeting request by opening it in the manager's mailbox. They don't make the assistant a delegate who receives meeting requests. For that, the mailbox owner uses classic Outlook: File › Account Settings › Delegate Access › Add. The delegate settings there also control whether the delegate receives copies of meeting-related messages and can see private items; note that the private-items option applies to all folders.

Outlook's delegate setup also grants Send on Behalf. To grant or check that from the shell:

PowerShell
Set-Mailbox ayla@contoso.com -GrantSendOnBehalfTo @{Add="julia@contoso.com"}
Get-Mailbox ayla@contoso.com | Format-List GrantSendOnBehalfTo

For room and equipment mailboxes, use Set-CalendarProcessing -ResourceDelegates instead.

The two errors and what they mean#

Adding an entry for someone who already has one fails with the following message, and the error details name the exception UserAlreadyExistsInPermissionEntryException:

Text
An existing permission entry was found for user: Julia Rossi.

Use Set-MailboxFolderPermission to change the existing entry instead. The opposite case, changing an entry that doesn't exist, fails with this message and the exception UserNotFoundInPermissionEntryException:

Text
There is no existing permission entry found for user: Julia Rossi.

Use Add-MailboxFolderPermission instead. If you get this for Default, check whether someone deleted the Default entry; add it back with Add-MailboxFolderPermission. Remember that an entry granted to a group doesn't count as an entry for its members.

Verify#

  • Run Get-MailboxFolderPermission again. Good looks like exactly one line for the user with the role you intended, and Default and Anonymous still present.
  • Have the user open the shared calendar in Outlook or Outlook on the web. Reviewers should see details, while a user covered only by Default with LimitedDetails sees subject and location only.
  • For delegates, send a meeting request to the manager and confirm the delegate receives it and can respond on their behalf.

Tips & gotchas#

  • Grant to mail-enabled security groups for teams, so access follows group membership.
  • Don't confuse folder permissions with Full Access: Full Access opens the whole mailbox; folder permissions are per folder. See Send As and Send on Behalf errors on Exchange Server for the sending side.
  • Private items stay hidden from folder-permission users; only the Outlook delegate option exposes them.
  • Outlook in cached mode may need a restart before new rights show up.
  • In hybrid, folder permissions between on-premises and cloud mailboxes have their own rules; see Cross-premises permissions in Exchange hybrid.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

M365 Subject Matter Expert, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)