Manage calendar permissions in Office 365 using PowerShell (2023)

As companies around the world began to work remotely, calendar sharing has become incredibly useful and essential for increasing business efficiency and productivity. It keeps you updated on users' daily activities and what they are doing. Setting up company-wide calendar permissions made everything more efficient than before.But the question is, are you making the most of your calendar?

If not, you're missing out on most of it! You'll miss what everyone else is doing and the meetings, and most importantly, you won't save time. So without further ado, let me research what you're looking for. In this blog, you will learn how to manage Office 365 calendar permissions.

first isYou should understand how Exchange calendar permission levels work before you can start managing them.calendar permissions🇧🇷 those availableOutlook permissionlevelsthey are added to the end of the blog for reference.

as achangeCalendar Permissions in Outlook?

The default calendar permission available in Microsoft 365 isAvailabilityOnlyOccupation. This allows you to open other users' calendars and check if they are free/busy. But that doesn't mean other job details are shown.

To add or change calendar permissions, follow these steps:

  1. OpenOutlook -> Calendar.
  2. Right-click and select the calendar you want to shareShare permissions.
  3. After clicking, thecalendar propertiesdialog box appears. This shows the previously assigned permissions for the calendar.
  4. Depending on the scope of your work, choose one of theOutlook permission levelsand change the Read, Write, and Delete Items columns as appropriate.

Use:Only the respective owner of Outlook can perform this action. You cannot perform this action on someone else's Outlook.

Perspective Limitations:
There is no centralized way to manage calendar permissions in Office 365. Users must individually grant other users the appropriate calendar permissions in Outlook. Also, admins can't manage calendar permissions in the Microsoft 365 admin center or the Exchange admin center.

Manage calendar permissions with PowerShell:

Herein lies the power of PowerShell! Allows administrators to add, change, or remove calendar permissions in Office 365 for each user as well as for multiple users.

(Video) Share calendars in Exchange Online using PowerShell | #PowerShell #ExchangeOnline #O365

PowerShell cmdlets are only accessible when connected to the Exchange Online engine. so make sure firstConecte-se ao Exchange Online PowerShell.The basic cmdlets needed to manage calendar permissions in Office 365 are:

  1. Add mailbox folder permission→ Add folder-level permissions and calendar permissions for users on mailboxes.
  2. Establecer-MailboxFolderPermission→ Change existing permission levels.
  3. Get-MailboxCalendarFolder→ Retrieves information from the specified calendar folder.
  4. Remove-MailboxFolderPermission→ Remove existing calendar permissions.
  5. Get-MailboxFolderPermission→ Shows existing folder and calendar permissions on mailboxes.

Use: Here if you just use–Add mailbox folder permissionand assigns a permission to a user, assigns the permission to the user's mailbox folder.But to add the calendar permissions,add":\Calendar(Calendar name in your OutlookLanguage)after UserPrincipalName (eg.Emma:\Calendar).

  • Change default calendar permissions with PowerShell
  • Add Calendar Permissions in Office 365
  • Change calendar permissions
  • Remove calendar permissions in Office 365
  • Get calendar permissions
  • Issues with calendar permissions

Set default calendar permissions for Office 365 users:

What if you want to change the default calendar sharing permissions for internal users?

Use: Before changing default calendar permissions in Office 365, think twice before taking action. Because changing the default calendar sharing permissions gives everyone in your organization critical access to your calendar. Never set risky access rights like standard calendar permissions!

Change the default calendar permission for a user:

Use the following cmdlet to change the default calendar sharing permissions for a specific user.

Set-MailboxFolderPermission -Identity Emma:\Calendar -User Default -AccessRights LimitedDetails

This cmdlet now replaces the defaultAvailability only (free/busy)right of accessLimited details (free/busy, subject and location).

Set default calendar permissions for all users:

In some cases, you need to change the default calendar sharing permissions for all users. But you can't ask everyone to change because it takes too long. Use the code below to change default calendar permissions in one go!

foreach($usuario en Get-Mailbox -RecipientTypeDetails UserMailbox) {$cal = $user.alias+”:\Calendar”Set-MailboxFolderPermission -Identity $cal -User Default -AccessRights LimitedDetails}

Add calendar permissions in Office 365 with PowerShell:

Adding a permission to a calendar only works if there is no permission. A user cannot have multiple permissions at the same time. An error will be returned if the user already has access roles.

(Video) How to give Calendar permissions to user from Exchange Management Shell

UseAdd mailbox folder permissionto add a calendar permission to the calendar by specifying the type of Outlook permission level.

To be-Access rightsThe parameter defines the permission level to be added for the user.

Identidade Add-MailboxFolderPermission[Email protected]:\user-calendar[Email protected]-Access rights checker

This addsFridaAs acriticalan emmacalendar of .

When assigning permissions, you can also set permissions for Office 365 calendars shared outside your organization. Just make sure you don't set critical access for external users.

Use: The above cmdlet only works for users with Outlook language set to English. If you use a different Outlook language, the default folder name will be different. Therefore, before running the cmdlet, check the Outlook language setting for the calendar name.

(Get-MailboxFolderStatistics Emma -FolderScope Calendar).Identidade

Manage calendar permissions in Office 365 using PowerShell (1)

Change calendar permissions with PowerShell:

Calendar permissions can be changed usingEstablecer-MailboxFolderPermission.Modifies existing Exchange calendar permission levels.

Set-MailboxFolderPermission -Identity Emma:\Calendar -User frida -AccessRights Owner

This replaces the existing one.criticalpermission toowner access rights. Normally, calendar permissions are updated without notification.

Change calendar permissions with notifications:

However, if you want to send an invitation to the recipient, you can follow the cmdlet below. A message is sent to the recipient which he can accept or reject.

(Video) How to check calendar permission using PowerShell #office365 #microsoft #exchangeonline #shorts

Set-MailboxFolderPermission -Identity Emma:\Calendar\private -User frida -AccessRights Editor -SendNotificationToUser $true

Restrictions for the parameter:

  • This parameter only applies to calendar folders.
  • And it can only be used with the followingaccess rightsParametric values:
    • AvailabilityOnly
    • limited details
    • critical
    • editor

Manage calendar permissions in Office 365 using PowerShell (2)

Remove calendar permissions in Office 365 with PowerShell:

Finally, if you want to remove previously assigned calendar permissions, use theRemove-MailboxFolderPermission cmdlet. This will remove existing calendar permissions.

Identification Remove-MailboxFolderPermission[Email protected]:\calendar users[Email protected]

This will remove all calendar permissions that Markhad had on Emma's calendar.

Get calendar permissions with PowerShell:

Finally, if you want to check calendar permissions on your Office 365 calendar, use the following cmdlet. This will only display calendar permissions for the specified user's calendar.

Get-MailboxFolderPermission -Identity "Emma:\Calendar" | ft folder name, users, permissions

Manage calendar permissions in Office 365 using PowerShell (3)

Export Office 365 calendar permissions for all users:

Instead of viewing the calendar permissions report for a specific user, you can also choose to export itOffice 365 calendar permissions for all userscom o script do PowerShell.

Example output:

(Video) Mastering Office 365 with Powershell - Session 4 | How to manage Shared Mailboxes using Powershell

The exported report contains all shared calendars with delegated security roles. The Access Rights, Shared With, and Sharing Permissions Indicator columns in the report help you get the most important information about calendar sharing.

Manage calendar permissions in Office 365 using PowerShell (4)

Roadmap highlights:

This script exports Office 365 calendar permissions reports across the organization. With the 6 different reports you canGet granular data about the access rights and calendars of other Office 365 users.

  • Allow trackingpermission all calendars
  • help to seeDefault calendar permissionfor all mailboxes
  • Shows all mailbox calendars that have them.a user has access.
  • list calendarsshared with external users.
  • Help find calendar permissions for a mailbox listType CSV.

Calendar permissions issues:

Grayed out calendar permissions:Several admins have reported this issue. But what is the underlying cause of aging? Perhaps you have read many forums and are still confused. Let me detail the answer. This problem mainly occurs for two reasons.

  1. You don't have an Exchange account. That is, sharing a calendar is only available for Exchange-based Office 365 and Outlook accounts. It does not work for standalone Outlook applications with personal POP3 or IMAP accounts.
  2. Sharing a calendar will not work if the IT admin has turned off calendar sharing for the account.

Solution for "Schedule sharing not working" problem:
Consider one of the alternatives below if you want to share your calendar.

  • Publish your calendar online.
  • Move your calendar to and share it.

Outlook permission levels:

Determine these Outlook permission levelsthe level of access each user has to your calendar.

NoneNo permissions to access folders and files.
AvailabilityOnlyYou can only know if you are free or busy
limited detailsShows if you are free/busy. When you are very busy, the subject and location of the appointment/meeting will be displayed.
criticalOnly items in the folder can be read.

CarpetaVisible, ElementosLeídos

contributorRead articles and just create them (appointments/meetings)

CarpetaVisible, CreateItems

AuthorCreate, edit and read elements. They can also delete their items, but not the owner's items.

CreateItems, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems

unedited authorFull read access and can create meetings but not edit anything. You can delete the items they create.

CreateItems, FolderVisible, ReadItems

editorial authorFull access to read, create items and subfolders. They can only modify and delete items they create.

CreateItems, CreateSubfolders, DeleteOwnedItems, EditOwnedItems, FolderVisible, ReadItems

editorRead, create, modify and delete elements. But you cannot create subfolders.

CreateItems, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems

editor editorialFULL AUTHORIZATION FOR THE CALENDAR, except the right to change permissions. Full access for reading, creating, modifying and deleting items/subfolders.

CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderVisible, ReadItems

ownerFULL PERMISSION FOR THE CALENDAR. Read, create, modify and delete all items/subfolders.

CreateItems, CreateSubfolders, DeleteAllItems, DeleteOwnedItems, EditAllItems, EditOwnedItems, FolderContact, FolderOwner, FolderVisible, ReadItems

With Office 365 calendar sharing permissions, everyone can see calendars at a glance. Eliminate time spent trying to figure out the best date and time for a meeting. After that, just check the Office 365 calendar for availability and schedule the meeting at a convenient time.

(Video) Mastering Office 365 with PowerShell - Session 5 | How to manage Resource Mailboxes using PowerShell

We hope this blog post helped you learn how to manage calendar permissions with PowerShell. Even if you don't normally use a calendar, start using one and make it accessible to everyone. The time savings will be worth it!

Go ahead and experience the benefits of calendar permissions!

Related posts:

  • How to set up Out of Office autoresponder using PowerShell
  • Provisioning manager for Office 365 users based on user preferences...
  • Top 10 Microsoft Graph PowerShell cmdlets for Office 365...
  • Conecte-se ao Microsoft Graph PowerShell
  • Set Office 365 users' language and time zone to...
  • Exchange Online: List all mailboxes the user has access to with...


1. How to delegate calendar permissions for an Office 365 mailbox - SUPER EASY
2. MS Graph API Read all Tenant calendar events with PowerShell
3. Office 365 - Manage Calendar Permissions
(Automate 365)
4. Managing permissions in Exchange online
(David Dalton)
5. 33. How to Create a Shared Calendar in Microsoft 365 | Exchange Online
(MSFT WebCast)
6. How to Set Office 365 Calendar Sharing Permissions in the Admin Center
(365 Ninja)
Top Articles
Latest Posts
Article information

Author: Dong Thiel

Last Updated: 04/01/2023

Views: 6354

Rating: 4.9 / 5 (59 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Dong Thiel

Birthday: 2001-07-14

Address: 2865 Kasha Unions, West Corrinne, AK 05708-1071

Phone: +3512198379449

Job: Design Planner

Hobby: Graffiti, Foreign language learning, Gambling, Metalworking, Rowing, Sculling, Sewing

Introduction: My name is Dong Thiel, I am a brainy, happy, tasty, lively, splendid, talented, cooperative person who loves writing and wants to share my knowledge and understanding with you.