Apply MUI settings to existing domain accounts
We're in the process of replacing all our Swedish Windows XP installs with English XP installs with the Swedish MUI pack. That is, granted we can solve two problems we're having.
When installing the MUI pack, I set the default language for menus and dialogs to Swedish. This works great for new accounts, but what about our existing ~5000 domain accounts? If I log in with an existing account, menus and dialogs are in English. Is there a way to change the language setting for our existing domain accounts "en masse"?
I looked around in group policy, but the only thing I could find was "Restrict selection of Windows menus and dialogs language". This isn't exactly what we want. We want to set all existing and new users to Swedish and then allow users to switch to English if they want to.
The second issue we're having is that even though menus and dialogs are set to Swedish for new users (correct), the default input language is left at English. We never want English because all our keyboards are Swedish.
Any help would be appreciated!
Cheers,
Rickard
When installing the MUI pack, I set the default language for menus and dialogs to Swedish. This works great for new accounts, but what about our existing ~5000 domain accounts? If I log in with an existing account, menus and dialogs are in English. Is there a way to change the language setting for our existing domain accounts "en masse"?
I looked around in group policy, but the only thing I could find was "Restrict selection of Windows menus and dialogs language". This isn't exactly what we want. We want to set all existing and new users to Swedish and then allow users to switch to English if they want to.
The second issue we're having is that even though menus and dialogs are set to Swedish for new users (correct), the default input language is left at English. We never want English because all our keyboards are Swedish.
Any help would be appreciated!
Cheers,
Rickard
0 Comments
[ + ] Show comments
Answers (4)
Please log in to answer
Posted by:
dodgy
15 years ago
I'm not aware of a GPO to control this, though there are two ways you could do this:
1) One way to approach this is to use sysinternals process monitor to determine which registry keys control the selected mui used. Once you've worked this out you then need to figure out how to deploy this to your existing user profiles.
If you are using roaming user profiles (sounds like you are) this is somewhat easier as you can use the reg.exe tool to load the ntuser.dat file for each user and make the reg change then unload the reg hive. You can wrap a vb script around this to load a user hive based on a parameter or text file list, set the reg and unload the ntuser.dat file per each user (just remember to null any variables or objects that may have open registry handles before unloading).
If you are using locally cached profiles i.e. stored on laptops / desktops and not copied to a central profile store then you have a bit more work to do. Ideally you need to perform this offline (unless someone knows a way to apply mui pack). Again you can do this using a script to load each locally cached profile, of course you need to do this using an administrator account.
2) Another way is to create a custom GPO adm template which sets specific registry keys and roll that out the only main caveats to this is that being a custom GPO it is unmanaged i.e. you have to explicitly enable or disable the GPO setting as using "not configured" will not reverse the enable/disable selection. You can also control who gets the GPO applied using a specific user group. The other caveat to this issue is it doesn't allow users to change between mui packs, as GP by its nature enforces settings.
Hope this helps.
1) One way to approach this is to use sysinternals process monitor to determine which registry keys control the selected mui used. Once you've worked this out you then need to figure out how to deploy this to your existing user profiles.
If you are using roaming user profiles (sounds like you are) this is somewhat easier as you can use the reg.exe tool to load the ntuser.dat file for each user and make the reg change then unload the reg hive. You can wrap a vb script around this to load a user hive based on a parameter or text file list, set the reg and unload the ntuser.dat file per each user (just remember to null any variables or objects that may have open registry handles before unloading).
If you are using locally cached profiles i.e. stored on laptops / desktops and not copied to a central profile store then you have a bit more work to do. Ideally you need to perform this offline (unless someone knows a way to apply mui pack). Again you can do this using a script to load each locally cached profile, of course you need to do this using an administrator account.
2) Another way is to create a custom GPO adm template which sets specific registry keys and roll that out the only main caveats to this is that being a custom GPO it is unmanaged i.e. you have to explicitly enable or disable the GPO setting as using "not configured" will not reverse the enable/disable selection. You can also control who gets the GPO applied using a specific user group. The other caveat to this issue is it doesn't allow users to change between mui packs, as GP by its nature enforces settings.
Hope this helps.
Posted by:
Tone
15 years ago
You run something like the following:
rundll32 shell32,Control_RunDLL intl.cpl,,/f:"C:\SDI\1stRun\REGOPTS-DE.TXT"
REGOPTS-DE.TXT:
There is also a registry key you need to change under HKCU to change one of the locale settings...
rundll32 shell32,Control_RunDLL intl.cpl,,/f:"C:\SDI\1stRun\REGOPTS-DE.TXT"
REGOPTS-DE.TXT:
[RegionalSettings]
LanguageGroup = 1
UserLocale = 00000809
SystemLocale = 00000809
InputLocale = 0809:00000809, 1809:00001809, 0407:00000407
MUILanguage = 0409
UserLocale_DefaultUser = 00000809
InputLocale_DefaultUser = 0809:00000809, 1809:00001809, 0407:00000407
MUILanguage_DefaultUser = 00000809
There is also a registry key you need to change under HKCU to change one of the locale settings...
Posted by:
Rickard Andersson
15 years ago
First of all, thank you both for your help. I was however hoping that this would be a lot simpler than what you guys are talking about. It seems odd to me that something so trivial in theory would be so involved in practice.
dodgy: We are using roaming profiles and I like the idea of modifying the profiles on the server using reg.exe, but I feel that it might be a bit over my head. Creating a custom ADM file is an option, but it is also a rather convoluted way of doing this.
Tone: Yes, but isn't that something that needs to be run "by the user"? I mean, in a logon script or something similar. Ideally, I would like to do this offline so that users don't notice any change when we switch from Swedish XP to English XP with MUI.
dodgy: We are using roaming profiles and I like the idea of modifying the profiles on the server using reg.exe, but I feel that it might be a bit over my head. Creating a custom ADM file is an option, but it is also a rather convoluted way of doing this.
Tone: Yes, but isn't that something that needs to be run "by the user"? I mean, in a logon script or something similar. Ideally, I would like to do this offline so that users don't notice any change when we switch from Swedish XP to English XP with MUI.
Posted by:
dodgy
15 years ago
Rickard,
You may find my first option easier than it sounds. You can achieve the same result using shell command scripts, i mentioned vb scripting as that is what i have used in the past to batch update large numbers of offline user profiles.
You can use reg.exe to perform all operations i.e. load, modify registry and unload the hive, using relatively little code.
You may find my first option easier than it sounds. You can achieve the same result using shell command scripts, i mentioned vb scripting as that is what i have used in the past to batch update large numbers of offline user profiles.
You can use reg.exe to perform all operations i.e. load, modify registry and unload the hive, using relatively little code.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.