У меня машина Windows 8.1 Enterprise, используемая несколькими пользователями. У каждого из них есть отдельная учетная запись и настройки.

Теперь, когда нам нужно перейти на Windows 10, существует проблема с полным обновлением с сохранением приложений и пользовательских данных, то есть языка отображения пользователя.

Язык системы по умолчанию русский. Однако в этой системе также установлен английский языковой пакет. Я предполагаю, что это то, что отключает возможность обновления, включая приложения и данные.

Есть ли способ, кроме очевидного ручного, перечислить всех пользователей в системе вместе с их текущими установленными языками отображения, чтобы я мог отследить того, кто использует английский. Я знаю, что кто-то использует его, так как когда я запускаю lpksetup.exe, я не могу удалить английский, он говорит, что его использует пользователь.

Ручной способ, который я упомянул, состоит в том, чтобы войти под каждым пользователем и увидеть выбранный язык, но я хотел бы иметь возможность отследить его с помощью учетной записи администратора.

Заранее спасибо за совет о том, как получить эту информацию из системы.

1 ответ1

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
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .