Let’s see how to create a common Travel calendar / Vacation Calendar / Public Calendar / Group Calendar using a shared mailbox and create security groups to map owners and reviewers. Please note you need to use PowerShell to achieve the same. It should be simple and easy.
I had to work on this requirement for a company . Where they wanted to plan their vacation on calendars and they don’t want to user resource mailboxes as they don’t want users to look vacation calendars in their resource mailboxes list. So Shared Mailboxes was the perfect option for me.
Was an interesting one. Note in Office 365 and Exchange server calendar permissions doesn’t reflect instantly on Microsoft Outlook. Outlook Web App will take minimal time to Reflect. Lets see how to go about it and achieve the same.
Lets create a Shared Mailbox. (Lets utilize the default calendar within the shared mailbox.)
Connect to Exchange Online PowerShell
By default, In Exchange Server and Office 365 users can view only free busy calendar information items of other users and shared mailboxes.
- Calendar Default {AvailabilityOnly}
For Example you add a shared Calendar to look into some useful information it may look by default. Which is good as default.
Opening Shared calendars via Various Channels
For Specific cases like vacation / travel calendars you need to alter the default permissions.
Yearly Vacation
New-DistributionGroup -Type Security -Name "Vacation Calendar Reviewers" -Alias "vacationCalendarreviewers"
Lets hide it and restrict it.
Set-DistributionGroup vacationCalendarreviewers -HiddenFromAddressListsEnabled $true -AcceptMessagesOnlyFrom vacation@localhost
lets create groups for Owners to manage calendars.
New-DistributionGroup -Type Security -Name "Vacation Calendar Owners" -Alias "vacationCalendarowners"
Set-DistributionGroup vacationCalendarowners -HiddenFromAddressListsEnabled $true -AcceptMessagesOnlyFrom vacation@localhost
Add-MailboxFolderPermission -identity "vacation@localhost:\Calendar" -user "vacationCalendarowners" -AccessRights Owner
Get-MailboxFolderPermission vacation@localhost:\calendar | Select FolderName,User,AccessRights
Lets Add some users to Reviewers and Owners to Check from Exchange Admin Center.
- Vacation Calendar Owners
- Vacation Calendar Reviewers
You can allow Conflicts if required. You Can disable Recurring Meeting if required.
Set-CalendarProcessing vacation@localhost -AllowConflicts $True -AllowRecurringMeetings $false
Just listing below for the Options Available for Example
Set-CalendarProcessing vacation@localhost –ResourceDelegates approver@localhost
Can forward Meeting Requests for Approval
PS C:\WINDOWS\system32> Get-CalendarProcessing vacation@localhost | fl RunspaceId : c3ea4643-4c65-4bc9-ae41-1a235df05a6c AutomateProcessing : AutoUpdate AllowConflicts : False BookingType : Standard BookingWindowInDays : 180 MaximumDurationInMinutes : 1440 AllowRecurringMeetings : True EnforceSchedulingHorizon : True ScheduleOnlyDuringWorkHours : False ConflictPercentageAllowed : 0 MaximumConflictInstances : 0 ForwardRequestsToDelegates : True DeleteAttachments : True DeleteComments : True RemovePrivateProperty : True DeleteSubject : True AddOrganizerToSubject : True DeleteNonCalendarItems : True TentativePendingApproval : True EnableResponseDetails : True OrganizerInfo : True ResourceDelegates : {} RequestOutOfPolicy : {} AllRequestOutOfPolicy : False BookInPolicy : {} AllBookInPolicy : True RequestInPolicy : {} AllRequestInPolicy : False AddAdditionalResponse : False AdditionalResponse : RemoveOldMeetingMessages : True AddNewRequestsTentatively : True ProcessExternalMeetingMessages : False RemoveForwardedMeetingNotifications : False MailboxOwnerId : Vacation Identity : Vacation IsValid : True ObjectState : ChangedVacation Calendar Owners can Cancel / Approve / Delete / Create
The Owner role gives full control of the folder. An Owner can create, modify, delete, and read folder items; create subfolders; and change permissions on the folder.
Vacation Calendar Reviewers can contact Organizer but not do anything else
To Remove Calendar Permission
Remove-MailboxFolderPermission -identity "vacation@localhost:\Calendar" -user "vacationCalendarowners"Good to Have
- Owner  - The Owner role gives full control of the folder. An Owner can create, modify, delete, and read folder items; create subfolders; and change permissions on the folder.
- Publishing Editor - The Publishing Editor role has all rights granted to an Owner, except the right to change permissions. A Publishing Editor can create, modify, delete, and read folder items and create subfolders.
- Editor - The Editor role has all rights granted to a Publishing Editor, except the right to create subfolders. An Editor can create, modify, delete, and read folder items.
- Publishing Author - A Publishing Author can create and read folder items and create subfolders but can modify and delete only folder items that he or she creates, not items created by other users.
- Author -Â Â An Author has all rights granted to a Publishing Author but cannot create subfolders. An Author can create and read folder items and modify and delete items that he or she creates.
- Nonediting Author -Â Â A Nonediting Author can create and read folder items but cannot modify or delete any items, including those that he or she creates.
- Reviewer  - A Reviewer can read folder items but nothing else.
- Contributor -Â Â A Contributor can create only folder items and cannot read items.
- None -  The None role has no access to the folder.
Other Scenarios _ Please do not use if you don’t have clarity about it.
Get-Mailbox –Database DatabaseName | ForEach-Object {Set-MailboxFolderPermission $_":\calendar" -User Default -AccessRights Reviewer}
Add-MailboxFolderPermission -Identity vacation:\calendar -User Resource Calendar Owners -AccessRights Owner
Get-Mailbox -Resultsize Unlimited | ForEach-Object {Set-MailboxFolderPermission $_":\calendar" -User Default -AccessRights Reviewer}
Import-Csv users.csv | foreach {Add-MailboxFolderPermission -Identity "user@localhost:\calendar" -User $_.alias -AccessRights Owner }
Hi.
Thank you for this manual. I choose this as a example for our ”Reminder” calendar for our team.
We would like to use it as a tool , which should tell us not to forget to do something in advance. For example, order Antivirus licence. We can see Reminder calendar, we can edit Reminder calendar in outlook calendar. Now the problem .We are missing pop up messages and we have to always open this calendar.This is not automatically in my calendar. This pop up message works in my calendar, but not in Reminder calendar. Did I chose wrong example or something is not properly configured. Thank you very much for helpful answer.