A cloud-based service included in Microsoft 365, delivering scalable messaging and collaboration features with simplified management and automatic updates.
Your understanding is correct. Exchange Online does not currently provide a tenant-wide mailbox policy or organization-level setting that changes PublishDateRangeTo to OneYear automatically for every newly created mailbox.
PublishDateRangeTo is a property of the individual mailbox calendar folder and is configured through Set-MailboxCalendarFolder. The cmdlet documentation does not provide a switch or policy object for setting this value as a default for future mailboxes.
- Add
Set-MailboxCalendarFolderto your mailbox provisioning or onboarding process. - Run a scheduled PowerShell automation that detects newly created mailboxes and applies the required configuration.
- Optionally, run a periodic compliance script against all applicable mailboxes to correct any mailbox that does not have the desired value.
For example:
Connect-ExchangeOnline
Get-EXOMailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited |
ForEach-Object {
$calendarIdentity = "$($_.PrimarySmtpAddress):\Calendar"
try {
Set-MailboxCalendarFolder `
-Identity $calendarIdentity `
-PublishEnabled $true `
-PublishDateRangeFrom SixMonths `
-PublishDateRangeTo OneYear `
-ErrorAction Stop
Write-Host "Updated: $($_.PrimarySmtpAddress)"
}
catch {
Write-Warning "Could not update $($_.PrimarySmtpAddress): $($_.Exception.Message)"
}
}
For production automation, it would be better to detect the default calendar folder instead of assuming that its name is always Calendar, because the folder name can be localized according to the mailbox language.
One additional point is that Set-MailboxCalendarFolder controls calendar publishing, such as published calendar URLs. It is not the same as tenant-to-tenant free/busy sharing. Microsoft documents this cmdlet specifically as configuring calendar publishing or sharing settings on an individual mailbox calendar folder.
If the external partner accesses the calendars through an Organization Relationship, sharing policy, or another cross-tenant free/busy configuration, PublishDateRangeTo might not control what they can see. It would therefore be worth confirming whether your implementation uses:
- Published HTML or ICS calendar URLs, or
- Exchange organization relationships and free/busy sharing.
Ref: Set-MailboxCalendarFolder
I hope this helps.