To fix this in bulk, use PowerShell. First, as a global administrator, connect to your Exchange Online service in PowerShell (Microsoft has instructions on this). Then run the following command to first view all of your current mailboxes and their regional settings:
Get-Mailbox | Get-MailboxRegionalConfiguration | Export-Csv CurrentReginalSettings.csvThis will save the details of all of your mailboxes, including resource mailboxes and shared mailboxes, to a CSV file at your current location called "CurrentReginalSettings.csv". Feel free to edit the path to save somewhere else.
When I ran this in our environment, I discovered several things:
- First, resource accounts, service accounts, and shared mailboxes did not have values set for DateFormat, Language, TimeFormat, and TimeZone.
- Some users' time zones were set incorrectly.
- One of our users had her language set to "en-GB" rather than "en-US". Her date and time formats were off as well.
So here's the command to set these values for all mailboxes. Change the DateFormat, Language, TimeFormat, and TimeZone values to fit your context.
Get-Mailbox | Set-MailboxRegionalConfiguration -Language en-US -TimeZone "Eastern Standard Time" -DateFormat "M/d/yyyy" -TimeFormat "h:mm tt"Obviously, if you have a geographically-dispersed organization, your solution will be a little more complicated. To set these values for an individual mailbox, use this command, substituting the right email address:
Get-Mailbox -Identity email@example.com | Set-MailboxRegionalConfiguration -Language en-US -TimeZone "Eastern Standard Time" -DateFormat "M/d/yyyy" -TimeFormat "h:mm tt"