How to find out which user is using a particular display language in Windows 8.1

0

I have a Windows 8.1 Enterprise machine used by several users. Each of them has a separate user account and settings.

Now that we need to upgrade to Windows 10, there is a problem with a full upgrade saving the applications and user data - that is user display language.

The system's default language is Russian. However, there is an English language pack installed on this system as well. I am assuming that is what disables the option to upgrade including the apps and data.

Is there a way, except for an obvious manual one, to list all users in the system along with their current display languages set, so I can track the one using English. I know someone has it in use since when I run lpksetup.exe I am unable to remove English, it says the user is using it.

The manual way I mentioned is to log in as each user and see the language selected, but I'd like to be able to track it down with Admin account.

Thanks in advance for the tip on how to get that info from the system.

Maxim V. Pavlov

Posted 2019-02-07T06:53:44.483

Reputation: 1 432

Answers

1

You could check their value of PreferredUILanguages registry value. This is found in HKEY_CURRENT_USER\Control Panel\Desktop

Assuming they are logged off you could loop through all users, load their ntuser.dat registry hive from root of their user directory and retrieve this value.

For example, in powershell :

$Users = ls c:\users -exclude $env:UserName,(split-path $env:Public -leaf)

ForEach ($User in $Users){
  $Name=$User.Name
  reg load HKU\$Name "C:\Users\$Name\ntuser.dat"
  $Lang = (Get-ItemProperty "Registry::HKEY_USERS\$Name\Control Panel\Desktop").PreferredUILanguages
  Write-Host $Name $Lang
  reg unload HKU\$Name
}

lx07

Posted 2019-02-07T06:53:44.483

Reputation: 1 415