Recently, I had to help a client who needed all their Microsoft 365 mailboxes switched from French to English (United States), with the correct date and time format for their region (Chicago, Central Standard Time). Since I don’t want to reinvent the wheel next time this comes up, I’m documenting the steps here for my own future reference, and hopefully, this can also help others.
Step 0 – Make Sure PowerShell 7 is Installed
Although Windows includes PowerShell 5.1 by default, it is strongly recommended to use PowerShell 7 (PowerShell Core) when managing Microsoft 365. The newer version provides better module support, security, and compatibility with Microsoft’s modern APIs.
Check your version
Run this command in a PowerShell window:
$PSVersionTable.PSVersionIf the Major version is less than 7, you should install PowerShell 7.
Install PowerShell 7
- Download the latest installer from the official GitHub releases page
- Choose the MSI package for Windows (x64 is most common).
- Run the installer, and make sure to check the option “Add to PATH” so you can easily launch it.
Once installed, open PowerShell 7 (you’ll see PS C:\> instead of Windows PowerShell) and run the version check again:
$PSVersionTable.PSVersionYou should now see version 7.x or higher.
Step 1 – Install the Required PowerShell Module
Microsoft 365 Exchange Online requires the Exchange Online PowerShell V2 module (ExchangeOnlineManagement). If you don’t already have it installed, open PowerShell as Administrator and run:
# Install the Exchange Online Management module
Install-Module ExchangeOnlineManagementStep 2 – Connect to Exchange Online
Once the module is installed, connect to your tenant:
Connect-ExchangeOnlineA Microsoft login window will appear. Sign in with an administrator account that has the Exchange Administrator or Global Administrator role.
Step 3 – Change Language and Regional Settings for All Users
Now you can update the regional settings for every mailbox. For example, to set the interface language to English (United States), time zone to Central Standard Time (Chicago), and apply US-style date and time formats:
Get-Mailbox -ResultSize Unlimited | Set-MailboxRegionalConfiguration `
-Language en-US `
-TimeZone "Central Standard Time" `
-DateFormat "MM/dd/yyyy" `
-TimeFormat "hh:mm tt"This command loops through every mailbox in the tenant and applies the same configuration.
Step 4 – Change Language for a Single User
If you only need to update one user, use the -Identity parameter:
Set-MailboxRegionalConfiguration -Identity user@domain.com `
-Language en-US `
-TimeZone "Central Standard Time" `
-DateFormat "MM/dd/yyyy" `
-TimeFormat "hh:mm tt"This is useful if only one user has the wrong settings, or if you want to test before applying changes to everyone.
Step 5 – Verify the Configuration
You can confirm the settings for a specific user:
Get-MailboxRegionalConfiguration -Identity user@domain.com | Format-ListThis will display the current Language, TimeZone, DateFormat, and TimeFormat values.
Notes and Best Practices
- These changes apply to existing users only. New accounts will need to be configured either manually when created, or by re-running the script.
- Users can still change their own language/time zone in Outlook on the web, unless you enforce policies.
- Always test on one mailbox first before applying changes tenant-wide.
Conclusion
By connecting to Exchange Online with PowerShell, you can quickly enforce consistent language and regional settings across all mailboxes in Microsoft 365. This saves a lot of time compared to asking each user to change their own preferences manually, and ensures consistency in date/time formats for your organization.




