Skip to content

Instantly share code, notes, and snippets.

@dbirks
Last active November 17, 2017 14:39
Show Gist options
  • Save dbirks/3cad36bc36ab2d69b4f5f8cdc1de15bf to your computer and use it in GitHub Desktop.
Save dbirks/3cad36bc36ab2d69b4f5f8cdc1de15bf to your computer and use it in GitHub Desktop.
Exchange calendar notes

Share Exchange calendar

Allow Mike Roe to see Samantha's calendar:

Add-MailboxFolderPermission -Identity samantha@internet.com:\Calendar -User "Mike Roe" -AccessRights Reviewer

Common roles with their associated permissions that you can assign with AccessRights are:

  • None
    • FolderVisible
  • Reviewer
    • ReadItems, FolderVisible
  • Contributor
    • CreateItems, FolderVisible
  • Author
    • CreateItems, ReadItems, FolderVisible, EditOwnedItems, DeleteOwnedItems
  • Editor
    • CreateItems, ReadItems, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems
  • Owner
    • CreateItems, ReadItems, CreateSubfolders, FolderOwner, FolderContact, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems

If there is an existing permission for the user, change Add-MailboxFolderPermission to Set-MailboxFolderPermission.

You can view the permissions set on Samantha's calendar with:

Get-MailboxFolderPermission -Identity samantha@internet.com:\Calendar

This article was helpful.

This TechNet article has the full list of Roles to assign with AccessRights.

Calendar processing rules

Some sane defaults:

Set-CalendarProcessing -Identity "Meeting Room" -DeleteAttachments $false -DeleteComments $false -DeleteSubject $false
 -AddOrganizerToSubject $false

Check current processing settings:

Get-CalendarProcessing -Identity "Meeting Room" | fl

Change default permissions on a calendar:

Set-MailboxFolderPermission meetingroom@company.com:\Calendar -user Default -AccessRights LimitedDetails

Publishing calendar

View current status. Look for PublishEnabled. If it is enabled, you can grab the urls from PublishedCalendarUrl or PublishedICalUrl.

Get-MailboxCalendarFolder room@company.com:\Calendar | fl

If it's just showing free/busy times, you might need to make a sharing policy that allows sharing with anonymous web users.

New-SharingPolicy -Name "Anonymous" -Domains 'Anonymous: CalendarSharingFreeBusySimple' -Enabled $true
Set-Mailbox room@company.com -SharingPolicy "Anonymous"

Some more permission changes:

Set-MailboxFolderPermission room@company.com:\calendar -User Anonymous -AccessRights reviewer
Set-MailboxCalendarFolder -Identity room@company.com:\calendar -DetailLevel limitedDetails
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment