Calendar Publishing Office 365 using PowerShell

Internet Calendars are calendars that can be published to the Internet where others can view or subscribe to them. We can make it easy to enable and disable sharing using PowerShell. This is especially handy if an Exchange Online administrator has to set this up for other users.

To Enable Calendar Publishing

Set-MailboxCalendarFolder -Identity user@domain.com:\Calendar -DetailLevel LimitedDetails -SearchableUrlEnabled $false -PublishEnabled $true -PublishDateRangeTo SixMonths
Code language: PowerShell (powershell)

To Get Published Calendar Public URL

Get-MailboxCalendarFolder -Identity user@domain.com:\Calendar | FL Identity, PublishedCalendarUrl
Code language: PowerShell (powershell)

To Disable Calendar Publishing

Set-MailboxCalendarFolder -Identity user@domain.com:\Calendar -DetailLevel AvailabilityOnly -SearchableUrlEnabled $false -PublishEnabled $false
Code language: PowerShell (powershell)