The following snippet provides a way to set mailbox localisation. This is useful both for pre-provisioning users and correctly setting shared mailboxes and other Exchange resources to the correct timezone.
Note that the example depends upon the Exchange Online PowerShell module.
Code
Import-Module ExchangeOnlineManagement
$sessions = Get-PSSession | Select-Object -Property State, Name
$isConnected = (@($sessions) -like '@{State=Opened; Name=ExchangeOnlineInternalSession*').Count -gt 0
If ($isConnected -ne $True) {
Get-PSSession | Remove-PSSession
Connect-ExchangeOnline | Out-Null
}
Set-MailboxRegionalConfiguration -Identity <Identity> -Language en-AU -DateFormat "d/MM/yyyy" -TimeFormat 'h:mm tt' -TimeZone 'W. Australia Standard Time'
#Disconnect-ExchangeOnline