Office 365 Calendar Management with PowerShell

Managing Calendars with PowerShell in Office 365

Managing Calendars with PowerShell in Office 365

As an Office 365 Administrator, managing calendars efficiently is critical for ensuring seamless scheduling and communication within your organization. PowerShell provides powerful tools to manage these tasks more effectively. In this tutorial, we will guide you through various PowerShell commands to help you manage calendars in Office 365. Let’s dive in!

Connecting to Exchange Online

Before executing any PowerShell commands, you need to connect to Exchange Online. This can be done with the following command:

Connect-ExchangeOnline

1. Listing All Calendar Permissions

To start managing calendar permissions, you may want to list all the existing permissions for a specific calendar. Here’s how you can do it:

Get-MailboxFolderPermission -Identity user@example.com:\Calendar

2. Adding Calendar Permissions

To grant access to a user on another user’s calendar, use the following command. This example grants Editor permission to john.doe@example.com on jane.doe@example.com’s calendar:

Add-MailboxFolderPermission -Identity jane.doe@example.com:\Calendar -User john.doe@example.com -AccessRights Editor

3. Removing Calendar Permissions

If you need to revoke previously granted permissions, the Remove-MailboxFolderPermission command can be used:

Remove-MailboxFolderPermission -Identity jane.doe@example.com:\Calendar -User john.doe@example.com

4. Modifying Calendar Permissions

To modify existing permissions, use the Set-MailboxFolderPermission command. For example, changing john.doe@example.com from Editor to Reviewer on jane.doe@example.com’s calendar:

Set-MailboxFolderPermission -Identity jane.doe@example.com:\Calendar -User john.doe@example.com -AccessRights Reviewer

5. Listing Default Calendar Permissions

To view the default permissions for calendars in your organization, use the following command:

Get-MailboxFolderPermission -Identity user@example.com:\Calendar -User Default

6. Setting Default Calendar Permissions

You may want to set default calendar permissions for all users in your organization. For example, granting Reviewer access to the Default user:

Set-MailboxFolderPermission -Identity user@example.com:\Calendar -User Default -AccessRights Reviewer

7. Viewing Calendar Permissions for All Mailboxes

To get a comprehensive view of calendar permissions across all mailboxes, use the following script:

$mailboxes = Get-Mailbox -ResultSize Unlimited
foreach ($mailbox in $mailboxes) {
    Get-MailboxFolderPermission -Identity $mailbox.UserPrincipalName":\Calendar"
}

8. Exporting Calendar Permissions to a CSV File

To document calendar permissions, you might want to export them to a CSV file. Here’s a script that exports permissions to a CSV file:

$mailboxes = Get-Mailbox -ResultSize Unlimited
$permissions = @()
foreach ($mailbox in $mailboxes) {
    $permissions += Get-MailboxFolderPermission -Identity $mailbox.UserPrincipalName":\Calendar"
}
$permissions | Export-Csv -Path "C:\CalendarPermissions.csv" -NoTypeInformation

9. Adding Calendar Permissions for Multiple Users

If you’re looking to add calendar permissions for multiple users, use the following script:

$users = "john.doe@example.com", "jane.doe@example.com"
foreach ($user in $users) {
    Add-MailboxFolderPermission -Identity $user:\Calendar -User another.user@example.com -AccessRights Editor
}

10. Removing Calendar Permissions for Multiple Users

Similarly, you can revoke permissions for multiple users with the following script:

$users = "john.doe@example.com", "jane.doe@example.com"
foreach ($user in $users) {
    Remove-MailboxFolderPermission -Identity $user:\Calendar -User another.user@example.com
}

And there you have it! With these PowerShell commands, you can efficiently manage calendar permissions in Office 365, ensuring that your organization’s scheduling and communication are streamlined and secure.

Written by Andrius