Forcing OpsMgr Console to start in English

Typically when you start the OpsMgr console it will show you Display Strings according to your user setting.

E.g. if you set your user specific regional settings to German all Display strings available in OpsMgr will be provided in your language.

 

So you can easily change your regional settings and restart the OpsMgr console to switch display strings.

Sometimes it might be required to start the console to show only English Display Strings in OpsMgr console but let regional settings for other applications set to your language (e.g. Excel).

In this case you can use the following Powershell command to force OpsMgr console to start in English independent from you regional setting.   

$key = get-item -path 'hkcu:\Control Panel\International'
$curLocale = $key.GetValue('Locale')
$curLocaleName = $key.GetValue('LocaleName')
$curShortDate = $key.GetValue('sShortDate')

If (test-path -path 'hklm:\Software\Microsoft\System Center Operations Manager\12\Setup')
{
$opsMgrConsole = ((get-item -path 'hklm:\SOFTWARE\Microsoft\System Center Operations Manager\12\Setup').GetValue('InstallDirectory') + '\Console\Microsoft.EnterpriseManagement.Monitoring.Console.exe')
}
elseif (test-path -path 'hklm:\Software\Microsoft\Microsoft Operations Manager\3.0\Setup')
{
$opsMgrConsole = ((get-item -path 'hklm:\Software\Microsoft\Microsoft Operations Manager\3.0\Setup').GetValue('InstallDirectory') + '\Microsoft.MOM.UI.Console.exe')
}

set-itemproperty -path $key.PSPath -name 'LocaleName' -value 'en-US'
set-itemproperty -path $key.PSPath -name 'Locale' -value '00000409'
set-itemproperty -path $key.PSPath -name 'sShortDate' -value 'M/d/yyyy'

start-process $opsMgrConsole -wait
start-sleep -Seconds 10

set-itemproperty -path $key.PSPath -name 'LocaleName' -value $curLocaleName
set-itemproperty -path $key.PSPath -name 'Locale' -value $curLocale
set-itemproperty -path $key.PSPath -name 'sShortDate' -value $curShortDate

 

This script works for OpsMgr 2007 R2 and OpsMgr 2012.