In today’s dynamic work environments, calendar sharing is a necessity for seamless collaboration. Administrators managing Exchange Online often need to adjust calendar permissions for users, whether to allow full access for a team or restrict visibility for certain individuals. While this can be achieved through the Microsoft 365 admin center, using PowerShell provides greater efficiency and control, especially when managing permissions for multiple users.
Here’s a step-by-step guide on how to change calendar permissions using PowerShell for Exchange Online.
Prerequisites
Before you begin, ensure you meet the following requirements:
1. Admin Privileges: You must have the necessary admin permissions to manage Exchange Online settings.
2. PowerShell Module: Install the Exchange Online PowerShell V2 module (EXO V2).
3. Authentication: Enable multi-factor authentication (MFA) for secure access.
Step 1: Install and Connect to Exchange Online PowerShell
1. Install the Exchange Online V2 Module:
Open PowerShell as an administrator and run the following command:
Install-Module -Name ExchangeOnlineManagement
2. Connect to Exchange Online:
Use the following command to authenticate and connect:
Connect-ExchangeOnline -UserPrincipalName admin@yourdomain.com
Replace admin@yourdomain.com with your global admin account. Follow the MFA prompts to log in.
Step 2: View Current Calendar Permissions
To check existing calendar permissions for a mailbox, use the Get-MailboxFolderPermission cmdlet. For example:
Get-MailboxFolderPermission -Identity user@domain.com:\Calendar
This command retrieves the current permissions for the specified user’s calendar.
Step 3: Add or Modify Calendar Permissions
Use the Set-MailboxFolderPermission cmdlet to modify existing permissions or the Add-MailboxFolderPermission cmdlet to grant new permissions.
1. Grant a New Permission:
To give a user “Reviewer” access (read-only), run:
Add-MailboxFolderPermission -Identity user@domain.com:\Calendar -User colleague@domain.com -AccessRights Reviewer
2. Modify an Existing Permission:
If the user already has access and you want to change it to “Editor” (read/write), use:
Set-MailboxFolderPermission -Identity user@domain.com:\Calendar -User colleague@domain.com -AccessRights Editor
3. Grant Full Details to Default Users:
To allow everyone in the organization to see full calendar details, adjust the Default permission:
Set-MailboxFolderPermission -Identity user@domain.com:\Calendar -User Default -AccessRights Reviewer
Step 4: Remove Calendar Permissions
If you need to revoke someone’s access, use the Remove-MailboxFolderPermission cmdlet:
Remove-MailboxFolderPermission -Identity user@domain.com:\Calendar -User colleague@domain.com
Step 5: Disconnect PowerShell Session
After completing your tasks, disconnect your session to ensure security:
Disconnect-ExchangeOnline
Common AccessRights Levels
Here’s a quick reference of the most common access rights you can assign:
• Owner: Full control, including the ability to manage permissions.
• Editor: Read/write access, including the ability to delete items.
• Reviewer: Read-only access with the ability to view full details.
• None: No access.
For a complete list of access rights, refer to Microsoft’s official documentation.
Tips for Success
1. Batch Updates: Use PowerShell scripts to update permissions for multiple users simultaneously.
2. Audit Permissions: Regularly review and audit calendar permissions to ensure they align with your organization’s policies.
3. Backup Settings: Export current permissions to a CSV file before making changes for easy rollback if needed.
Example:
Get-MailboxFolderPermission -Identity user@domain.com:\Calendar | Export-Csv -Path “C:\CalendarPermissionsBackup.csv” -NoTypeInformation
Conclusion
Managing calendar permissions in Exchange Online with PowerShell is a powerful way to streamline administrative tasks. By following the steps outlined above, you can efficiently grant, modify, and revoke access while maintaining control over your organization’s shared calendars.
PowerShell not only saves time but also provides the flexibility to manage permissions at scale. With these skills, you’re equipped to handle calendar permission changes like a pro!
