Exchange: Find mailboxes without language settings and fix it without messing up the correct once

Had some users that had problem setting up Outlook profile. When they logged on to the web mail interface they where asked about regional settings. After that setting up the profile worked.

Doing some investigations we discovered that lots off users did not have the settings.



Finding the problematic users

There are some articles out there that try to help you with this problem, but if you have users with different languages settings all of the articles I found just went through all mailboxes and set them to use one specified language and timezone. So the main mission is to find all mailboxes that are missing language setting.

The PowerShell command to find all the users are as following:

$suspectmailboxes=get-mailbox –ResultSize Unlimited | Where-Object{$_.Languages -eq $null -or $_.Languages.LCID -le 0}

With this string we will only get mailboxes without Language set, or with a "negative" language code. You can add other filtering and search modifications if needed, for instance -Filter "ServerName" or "Database" for a more directed target.

The main reason to use a variable is that the search takes a long time of you have many users or a complex environment, and you can then use the variable when doing other commands against the result.

For instance you might want to count the number of mailboxes, you can the use:

$suspectmailboxes.Count

Setting Language and TimeZone

To to set the values you can use "Set-MailboxRegionalConfiguration" command.
An example to set typical Norwegian values are:

$suspectmailboxes|Set-MailboxRegionalConfiguration -Language 1044 -TimeZone "Central Europe Standard Time"

If you don't know what values to use for -Language or -TimeZone just check out a mailbox with the value set. You can then use:

 Get-MailboxRegionalConfiguration -id "WorkingUser@Lumagate.com" | Select Language,TimeZone

And you can then just use those values. Or just Google it ;-)

Popular posts from this blog

Installing Android on a Hyper-V virtual machine

MDT: TimeZoneName and index number list