When a new user is created and licensed for Exchange Online / M365 / MS365 / Office Online / etc., and a mailbox is created for that user, the user is created with a default TimeZone of Pacific Standard Time.
Not only is this undesirable if the user is not in that time zone, but if a company wants to preload meetings with a new hire prior to their start at a company, the user’s calendar and availability settings appear to be in the incorrect timezone, and in fact, this can even be called out in Outlook via a message such as:
<DisplayName> is in a different time zone. Use the Scheduling Assistant to select times across time zones.
Now, something important to know is not only is there a Regional TimeZone setting, but there are is also a WorkingHoursTimeZone setting under a separate CalendarConfiguration. You can read about cmdlets regarding these two configurations here:
To update this is not difficult if you have admin privileges and access to a PowerShell client with the Exchange Online PowerShell module installed.
To update the user’s time zone to EST, run these commands from within PowerShell:
Connect-ExchangeOnline Set-MailboxRegionalConfiguration –Identity user@yourdomain.com -TimeZone "Eastern Standard Time" # You can include additional regional settings, which should not be required to simply update the time zone, but can be desirable to set for a new user, as these will be $null by default: # Set-MailboxRegionalConfiguration –Identity user@yourdomain.com -TimeZone "Eastern Standard Time" -Language en-US -DateFormat "M/d/yyyy" -TimeFormat "h:mm tt" Set-MailboxCalendarConfiguration –Identity user@yourdomain.com -WorkingHoursTimeZone "Eastern Standard Time"
To get a list of all valid time zones, you can run:
$TimeZone = Get-ChildItem "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Time zones" | foreach {Get-ItemProperty $_.PSPath}; $TimeZone | sort Display | Format-Table -Auto PSChildname,Display
Many thanks to Chris Beattie for his great write-up on this topic!
I knew of this situation from past experience, but upon my encounter with it this week, I found Chris’s post when searching for the specific syntax of these commands once again. This post is mostly so I have an easy reference for myself in the future.