EASYENTRA Blog

News & Updates

Delegating Access to Modify Exchange Online Calendar Permissions

How to delegate access to manage folder and calendar delegation in Exchange Online.

During our many EasyEntra pre-sale meetings, we often hear requests from organizations looking to delegate specific areas of administration to non-IT staff or administrative workers.

A common example is the need to allow someone to configure mailbox folder permissions – or calendar delegation in particular – without requiring them to use PowerShell.

This scenario introduces two distinct challenges:

  1. Limiting permissions in Exchange Online
    You need a way to give users the right to modify folder permissions – without exposing the broader Exchange Online admin surface.

  2. Making calendar permission management user-friendly
    Administrative workers should be able to handle these tasks without having to run complex PowerShell scripts.

In this article, we break down exactly how you can solve these challenges.

1. Limiting Permissions in Exchange Online

Create Custom Admin Roles and a Role Group

The first part of the solution is to configure Exchange Online so that delegated users receive only the permissions they need. This involves creating custom roles that contain only the CmdLets necessary for folder permission management (Get-MailboxFolderPermission, Set-MailboxFolderPermission, etc.), bundling the Exchange Admin Roles in a Role Group, and assigning the Role Group to your staff via a mail-enabled security group.

This approach ensures:

  • Least-privilege access.
  • A controlled, auditable delegation model.
  • Easy assignment or removal of the custom role.

The overall process is illustrated here:

Start with existing EXO roles

  • Built-in roles often contain many cmdlets, making them too broad for safe delegation.

Create new inherited roles

  • Clone the built-in roles and remove all cmdlets except those required for mailbox folder or calendar permission management.

Combine the custom roles into one Role Group

  • Bundle the limited roles together to form a single, clearly defined delegated permission set.

Assign the Role Group to a mail-enabled security group

  • Add delegated users (who do not need to be mail-enabled) to this group so they inherit only the restricted permissions defined by the assigned Role Group.

Maintain access through group membership

    • Grant or revoke delegated permissions simply by adding or removing users from the security group.

Using PowerShell to Configure Exchange Online Delegation

With the overall approach in place, the next step is implementing it. Below is the PowerShell script that creates the custom roles, builds the role group, and assigns it to a mail-enabled security group – giving you a complete, least-privilege delegation setup in Exchange Online.

For standard mailbox folder (including calendar) delegation, you actually need five different PowerShell cmdlets:

  • Get-MailboxFolderPermission
  • Add-MailboxFolderPermission
  • Set-MailboxFolderPermission
  • Remove-MailboxFolderPermission
  • Get-MailboxFolderStatistics

The first four cmdlets let you view, add, modify, and remove folder permissions. The fifth cmdlet, Get-MailboxFolderStatistics, is essential for resolving the actual folder path in environments where default folders are localized (for example, InboxPosteingang in German).

From a role perspective, these cmdlets are split across two standard Exchange admin roles:

  • All cmdlets except Set-MailboxFolderPermission live in the Mail Recipients role.

  • Set-MailboxFolderPermission is only available in the Mail Recipient Creation role.

To give our delegated users the full set of folder-permission capabilities without all the extra admin power those roles normally include, we:

  1. Create two custom management roles, each inheriting from one of these standard roles.

  2. Strip away every cmdlet we don’t need, leaving only the five listed above.

  3. Combine both custom roles into a single Role Group that we can safely assign to a mail-enabled security group.

The script below automates exactly that process.

# Connect with Exchange Online using an org admin account
Connect-ExchangeOnline

# Create a mail-enabled security group for delegation
$group = "MailboxFolderDelegation"
New-DistributionGroup $group -Alias $group -Description "Members can manage mailbox folder permissions" -PrimarySmtpAddress $group@azure.skrubbeltrang.com -Type Security

# The CmdLets we need for the new role
$keepCmdlets = @(
    'Get-MailboxFolderPermission',
    'Add-MailboxFolderPermission',
    'Set-MailboxFolderPermission',
    'Remove-MailboxFolderPermission',
    'Get-MailboxFolderStatistics'
)

# Two roles needed to inherit two different parents
$roleA = "Mailbox Folder Permissions A"
$roleB = "Mailbox Folder Permissions B"

# Create the two base management roles
# This parent role has 'Get-MailboxFolderPermission', 'Add-MailboxFolderPermission', 'Remove-MailboxFolderPermission', and 'Get-MailboxFolderStatistics'
New-ManagementRole -Name $roleA -Parent "Mail Recipients"
# This parent role has 'Set-MailboxFolderPermission'
New-ManagementRole -Name $roleB -Parent "Mail Recipient Creation"

# Remove every CmdLet except what we need from Role A
$entriesA = Get-ManagementRoleEntry -Identity "$roleA\*"
$entriesA |
  Where-Object { $keepCmdlets -notcontains $_.Name } |
  ForEach-Object {
      Remove-ManagementRoleEntry -Identity "$($_.Role)\$($_.Name)" -Confirm:$false
  }
# Verify permissions of Role A before moving on
Get-ManagementRoleEntry -Identity "$roleA\*" | ft

# Remove every CmdLet except what we need from Role B
$entriesB = Get-ManagementRoleEntry -Identity "$roleB\*"
$entriesB |
  Where-Object { $keepCmdlets -notcontains $_.Name } |
  ForEach-Object {
      Remove-ManagementRoleEntry -Identity "$($_.Role)\$($_.Name)" -Confirm:$false
  }
# Verify permissions of Role B before moving on
Get-ManagementRoleEntry -Identity "$roleB\*" | ft

# Create the Admin Role Group based on the two roles we defined
$roleGroupName = "Mailbox Folder Permissions Management"
New-RoleGroup `
  -Name $roleGroupName `
  -Roles $roleA, $roleB `
  -Description "This role group grants delegated access to manage mailbox folder permissions, including calendar sharing and delegation scenarios. It is intended for helpdesk personnel who require the ability to view, add, modify, and remove mailbox folder permissions as part of their support responsibilities."

# Assign the new role group to our mail-enabled security group
Add-RoleGroupMember -Identity $roleGroupName -Member $group

You can verify the new Admin Roles and Role Group in the Exchange Admin Center:

Exchange Admin Center, Admin Role Group configuration.
The new Admin Role Group as seen from Exchange Admin Center
Exchange Admin Center, Admin Role Group configuration: Assignment.
Viewing the Assignment (delegation) of the Role Group
Exchange Admin Center, Admin Role Group configuration: Permissions.
Viewing the Exchange Admin Roles included in the Role Group

2. Managing Folder Permissions Without PowerShell

Making Delegation Practical for Non-IT Staff

Once the correct permissions are in place, the next challenge is how delegated staff actually perform the task. PowerShell is extremely capable, but it’s rarely the right tool for first-line support or non-IT administrative staff who only need to make quick, ad-hoc changes to calendar or mailbox folder permissions.

For many organizations, this becomes a bottleneck:

  • PowerShell syntax must be learned and remembered
  • Mistyping a single character can cause errors or, worse, unintended changes
  • It’s difficult to safely expose PowerShell to non-technical staff
  • Senior IT ends up handling routine permission updates that shouldn’t require escalation

To bridge this gap, some teams turn to free hobby projects or build their own PowerShell-based GUI wrappers around the necessary cmdlets. These can work and are great learning tools – but “free” is often only true on paper. In practice, they require:

  • Development time
  • Ongoing maintenance
  • Internal documentation and training
  • Troubleshooting when something breaks
  • Someone with PowerShell expertise to support the tool
  • Handover headaches on employee turnover

For smaller organizations or those with very simple needs, this might be acceptable. But for companies that want reliable delegation with minimal overhead, a more robust solution is often preferred.

This is where a tool like EasyEntra can help.

EasyEntra provides a clean, guided user interface where delegated staff can manage mailbox folder and calendar permissions without ever touching PowerShell. It’s fully documented, actively maintained, and supported – so first-line staff can update permissions quickly while IT retains full oversight.

A few practical benefits:

  • Non-IT staff can work confidently in a safe UI
  • Routine tasks stop escalating to senior IT
  • Everything runs on Microsoft’s standard security and auditing model – no custom roles, no proprietary security layers, and no vendor lock-in

EasyEntra is free for tenants with fewer than 25 licensed users.
For larger environments, pricing is available here.

Whichever route you choose, the goal is the same: make everyday permission updates easy, safe, and efficient – without requiring staff to become PowerShell experts.

Free 30-minute demo

try 30 days for free

GET EASYENTRA NEWS

Opt out at any time

“One of the best products I've used.”
Gary Shurland
Chief Information Officer, Mirick, United States
“This tool has been invaluable in streamlining our IT processes.”
Tyson Mckay
Chief Information Officer, Southwest Network, United States
“This product has been a miracle for our Help Desk. EasyEntra has completely transformed how we handle Microsoft 365 administration.”
Doug Sanders
Manager of Technical Customer Support, Junior Achievement USA, United States
“Your product is such a time saver. I love it!”
Scott Fehr
IT Infrastructure, MEC Aerial Work Platforms, United States
“It's a good product and saves us lots of time for these ongoing quick admin tasks.” 
Chris McFerran
Managing Director, CTech IT Solutions Ltd, United Kingdom
“EasyEntra has significantly streamlined our workflow, simplifying everything. It feels almost like a revolution.”
Johan Sadelius
IT-chef, Arjeplog Kommun, Sweden
I greatly appreciate your assistance and willingness to enhance the already outstanding product.”
Michael I. Wilson
Executive Director of Information Technology, Archdiocese Of Washington, United States
“It's great not having to switch back and forth between the O365 admin center and the Teams admin center to assign groups. I am sold!”
Thomas Madden
Director Information Technology, AutoPayPlus, United States
“I would highly recommend organizations use the solution as it greatly simplifies various tasks.”
S. Roger Singh
Chief Technology Officer, Prasad & Company LLP, Canada
“EasyEntra is time-saving. Love the copy/paste for user/computer groups and the copy to new user.”
Damian Nita
Associate Network Administrator, Shenandoah Valley Westminster-Canterbury, United States
“EasyEntra has transformed our daily IT operations by simplifying user management, reducing errors, and enhancing overall efficiency.”
Henrik Nefling
IT- and Digitalization Manager, Animal Protection Denmark, Denmark