How to Set Organization-Wide Outlook Calendar Permissions with PowerShell
Question details
Administrators need to configure default Outlook calendar permissions for multiple mailboxes across the organization and restrict users from modifying them.

- Product
- Microsoft Outlook / Exchange Online
- Device & OS
- not provided
- Scenario
- Managing enterprise calendar visibility and enforcing strict permission policies via PowerShell.
- Observed behavior
- Admins want to apply uniform access rights (such as LimitedDetails) to all user calendars and prevent users with mailbox access from overriding these organization-wide settings.
Ensure you have Exchange Administrator privileges and that the Exchange Online PowerShell V2 (EXO V2) module is installed and connected on your system.
Set Default Calendar Permissions Using Exchange Online PowerShell
Use a PowerShell loop combined with Get-Mailbox and Set-MailboxFolderPermission to update calendar access rights across all user accounts.
By utilizing Exchange Online PowerShell, administrators can automate the process of modifying the 'Default' user permission on every mailbox's calendar folder. To prevent future alterations by individual users, you will also need to adjust Exchange Online role assignments.
Open your PowerShell console as an administrator and execute the command `Connect-ExchangeOnline` to authenticate with your admin credentials.
Run `$Mailboxes = Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox` to fetch all user mailboxes in your organization.
Use a ForEach loop to apply the new permissions: `ForEach ($Mailbox in $Mailboxes) { Set-MailboxFolderPermission -Identity "$($Mailbox.PrimarySmtpAddress):\Calendar" -User Default -AccessRights LimitedDetails }`.
Navigate to the Exchange admin center or use PowerShell to review your Role-Based Access Control (RBAC) policies. Remove permission-management roles from standard user assignment policies to stop users from changing these calendar settings.
Test the changes on a sample mailbox by running `Get-MailboxFolderPermission -Identity "user@yourdomain.com:\Calendar"` to confirm the 'Default' access rights have been successfully updated.

Looking for a Lightweight Alternative to Microsoft Office?
While managing Exchange Server and Outlook requires advanced administrative tools like PowerShell, your everyday document tasks don't have to be complicated. WPS Office provides a free, lightweight, and highly compatible alternative for word processing, spreadsheets, and presentations.
- 1. Download WPS Office: Visit the official WPS Office website and download the free installer for your operating system.
- 2. Install the Software: Run the setup file and follow the straightforward on-screen instructions to complete the installation in minutes.
- 3. Open Your Files: Launch WPS Office and directly open your existing .docx, .xlsx, or .pptx files to start working immediately.

Frequently Asked Questions
Why do I get a 'folder cannot be found' error when running the PowerShell command?
This error typically occurs if the user's mailbox is configured in a language other than English, meaning the default calendar folder has a localized name instead of 'Calendar'. It can also happen if the user has never logged into their mailbox, meaning the default folders have not yet been provisioned.
Can I grant calendar permissions to a specific security group instead of setting them as 'Default'?
Yes. Instead of using `-User Default`, you can specify the email address of a mail-enabled security group or a specific user in the `Set-MailboxFolderPermission` cmdlet. For example: `-User "group@yourdomain.com"`.
How long does it take for PowerShell permission changes to appear for end users?
While the Exchange server processes the PowerShell commands almost immediately, it may take anywhere from a few minutes to several hours for the changes to fully sync and reflect in users' Outlook desktop clients, depending on local caching and network synchronization schedules.




