如何在 Windows 8.1 中找出哪个用户正在使用特定的显示语言

如何在 Windows 8.1 中找出哪个用户正在使用特定的显示语言

我有一台 Windows 8.1 Enterprise 计算机,供多位用户使用。每个用户都有单独的用户帐户和设置。

现在我们需要升级到 Windows 10,但完整升级会保存应用程序和用户数据(即用户显示语言)存在问题。

系统的默认语言是俄语。但是,该系统上也安装了英语语言包。我猜这就是禁用升级选项(包括应用程序和数据)的原因。

除了明显的手动方法外,有没有其他方法可以列出系统中的所有用户及其当前设置的显示语言,以便我可以跟踪使用英语的用户。我知道有人在使用英语,因为当我运行 lpksetup.exe 时,我无法删除英语,它说用户正在使用它。

我提到的手动方式是以每个用户身份登录并查看所选的语言,但我希望能够使用管理员帐户来追踪它。

提前感谢您提供有关如何从系统获取该信息的提示。

答案1

您可以检查它们的PreferredUILanguages注册表值。这可以在HKEY_CURRENT_USER\Control Panel\Desktop

假设他们已注销,您可以循环遍历所有用户,ntuser.dat从其用户目录的根目录加载他们的注册表配置单元并检索该值。

例如,在 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
}

相关内容