eeans Posted July 20, 2015 Posted July 20, 2015 We are deploying Windows 8.1 and I needed to come up with a script to set the regional settings of a computer from the Region settings screen.Set Keyboard LanguageSet LocationOn the Administrative tab - Set the Welcome Screen and New User Account Settings (so that they match the settings above)All of the above will be set from the "Helpdesk" account, and then the last option is needed so that anyone from then on who logs in gets the settings.I can see that the Region window is running as part of the "Windows host process (Rundll32)" when I check the Task Manager, this is Rundll32.exe, but I cant see how I can pass anything to this window to do anything on it. If I reference Rundll32.exe it just does nothing.I'm sure there must be a way but I'm completely stuck.
ViciousXUSMC Posted July 20, 2015 Posted July 20, 2015 At a deployment level I would be looking at my unattended.xml file to set everything for the computer, and load anything needed for users to the default user profile.You can have a user choose things by sysprepping the computer and using /OOBE I guess I am not really sure exactly what your asking for here though, do you want each user to get asked what location/language to use when they log in?
eeans Posted July 20, 2015 Author Posted July 20, 2015 We hand out computers ready to go for users, so all they need to do is login and their Outlook and local Profile is good to go. Everything is set by us before they get it. Hence why we needed to set all the Regional settings for them before handing it over, as they wont know how to set them.I thought about using the Unattended.xml file, but we use Altiris deployment and I'm pretty sure we cant specify those settings in there, as it generates its own. So were left with doing it via a script of some kind which can run after its been imaged.So basically if I could somehow get Autoit to do the following:Open Control panelClick RegionSwitch to Administrative tabClick Copy Settings...Tick the two options at the bottom and click OKThen click the confirmation boxes
ViciousXUSMC Posted July 20, 2015 Posted July 20, 2015 (edited) Ok that makes more sense.Everything you want to do should be possible with cmd options so you can make .bat files to work with.https://technet.microsoft.com/en-us/library/Cc722068(v=WS.10).aspx?f=255&MSPPError=-2147217396Also all this stuff is stored in the registry so if you create one key that is "perfect" and copy that over to your default user account it should populate to all new users.This article has the registry key location:http://blogs.technet.com/b/askperf/archive/2012/08/16/how-to-change-regional-settings-for-all-users-on-a-computer.aspxRemember to edit default user just import the ntuser.dat file for the Default Public Profile and it can also be done via cmd.You can use AutoIT as a nice wrapper to facilitate all these methods, but I imagine going way of automating the GUI is the last resort and should be avoided. Edited July 20, 2015 by ViciousXUSMC
cu0x Posted September 1, 2015 Posted September 1, 2015 Hi there,did u find any solution? I'm trying to do the same on a Windows Server 2012 r2 and want to do it automatically, and not by clicking the confirmation boxes..expandcollapse popupFunc _ChangeRegionLanguage() Local $GetRegionLangCombo = GUICtrlRead($NewRegionLangCombo) Local $Culture, $Location If $GetRegionLangCombo = "Spanisch - Spanien" Then $Culture = "es-ES" $Location = "217" ElseIf $GetRegionLangCombo = "Finnish - Finnland" Then $Culture = "fi-FI" $Location = "77" ElseIf $GetRegionLangCombo = "Französisch - Frankreich" Then $Culture = "fr-FR" $Location = "84" ElseIf $GetRegionLangCombo = "Ungar - Ungarn" Then $Culture = "hu-HU" $Location = "109" ElseIf $GetRegionLangCombo = "Kroatisch - Kroatien" Then $Culture = "hr-HR" $Location = "108" ElseIf $GetRegionLangCombo = "Schwedisch - Schweden" Then $Culture = "sv-SE" $Location = "221" ElseIf $GetRegionLangCombo = "Tschechien - Tschechische Republik" Then $Culture = "cs-CZ" $Location = "75" ElseIf $GetRegionLangCombo = "Dänisch - Dänemark" Then $Culture = "da-DK" $Location = "61" ElseIf $GetRegionLangCombo = "Deutsch - Deutschland" Then $Culture = "de-DE" $Location = "94" ElseIf $GetRegionLangCombo = "Englisch - Vereinigte Staaten" Then $Culture = "en-US" $Location = "244" ElseIf $GetRegionLangCombo = "Italienisch - Italien" Then $Culture = "it-IT" $Location = "118" ElseIf $GetRegionLangCombo = "Niederländisch - Niederlande" Then $Culture = "nl-NL" $Location = "176" ElseIf $GetRegionLangCombo = "Polnisch - Polen" Then $Culture = "pl-PL" $Location = "191" ElseIf $GetRegionLangCombo = "Rumänisch - Rumänien" Then $Culture = "ro-RO" $Location = "200" EndIf Local $SetCulture = RunWait("PowerShell.exe -Command Set-Culture " & $Culture, "", @SW_HIDE) Local $SetWinHomeLocation = RunWait("PowerShell.exe -Command Set-WinHomeLocation " & $Location, "", @SW_HIDE) Local $SetWinSystemLocale = RunWait("PowerShell.exe -Command Set-WinSystemLocale " & $Culture, "", @SW_HIDE) Local $SetWinUILanguageOverride = RunWait("PowerShell.exe -Command Set-WinUILanguageOverride " & $Culture, "", @SW_HIDE) Local $SetWinUserLanguageList = RunWait("PowerShell.exe -Command Set-WinUserLanguageList " & $Culture & " -force", "", @SW_HIDE) EndFunc ;==>_ChangeRegionLanguageI made this in order to set all Languages, but still need to find the way to change Windows Screen language and do it somehow for all users :S Appreciate your help
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now