With Office 365, it is very easy for an individual user to share their calendar out to external recipients, and those recipients get a URL that can be used to subscribe to the calendar in their favourite client software.
How do you publish a Room Calendar or an Equipment Calendar to the web, or to an iCal file? You can’t log in to Outlook on the web to share it out, so is there another way?
Fortunately, there is – through the use of PowerShell. As an aside, PowerShell on macOS seems to work pretty well these days to remote in to Office 365 and tweak things that previously could only be done with Windows. Also, if you do use PowerShell on macOS (or Linux, or even Windows) and have suggestions for how it can be improved, the PowerShell team are listening.
Anyway, back to the task at hand – sharing out a resource calendar from Office 365 to the web.
Fire up PowerShell, and connect to Office 365.
Then run the following commands against the resource mailbox. In this example, I’ll use [email protected] as the Meeting Room resource calendar I want to share out.
Set-MailboxCalendarFolder -Identity [email protected]:\calendar -PublishEnabled $true Set-MailboxCalendarFolder -Identity [email protected]:\calendar -DetailLevel Full Set-MailboxCalendarFolder -Identity [email protected]:\calendar -PublishDateRangeTo OneYear Set-MailboxCalendarFolder -Identity [email protected]:\calendar -PublishDateRangeFrom OneYear
Once these commands have executed, you can get the relevant URLs with the following command:
Get-MailboxCalendarFolder -Identity [email protected]:\calendar
This will display a heap of information about the resource calendar, you are looking for two pieces of information.
PublishedCalendarUrl is an HTML published version of the calendar that can be viewed in any web browser.
PublishedICalUrl is an iCal URL (a .ics file) that you can use to either download a static copy of the calendar, or use to subscribe to in your favourite calendar client.
Be aware that the calendar is published out to the entire internet, there is no authentication on who can and can not view the calendar. The URL to the calendar is very long and is, for all practical purposes, unguessable, however anyone who has the URL can view the calendar.