Изменение региональных настроек Windows для локальных пользователей через Powershell
Я создал более 100 пользователей, используя неправильные региональные настройки, поэтому неверный формат даты. Я хочу исправить это, не входя в систему под именем каждого пользователя и не пройдя необходимые шаги.
Я ищу способ сделать это за один раз или через пользовательский интерфейс или через скрипт Powershell.
В идеале мне нужен скрипт, который будет ForEach для локальных пользователей и запускает команду для изменения их языковых / региональных настроек.
ПРИМЕЧАНИЕ. Я не использую Active Directory, поэтому не могу использовать групповые политики.
1 ответ
Установите нужные параметры в одном из пользователей, затем получите эти настройки из
"HKEY_CURRENT_USER\Control Panel\International"
найдите SID каждого пользователя
Примените это к каждому пользователю на:
"HKEY_USERS\[UserSID]\Control Panel\International"
Чтобы получить SID пользователя, вы можете использовать эту функцию:
Function GetSIDfromSAM()
{
Param(
[Parameter(mandatory=$true)]$userName
)
$myacct = Get-WmiObject Win32_UserAccount -filter "Name='$userName'"
return $myacct.sid
}
GetSIDfromSAM localuser
S-1-5-21-1837353773-20556466214-3321741005-1005
Тогда используйте раздел Foreach (только для примера)
New-PSDrive HKU Registry HKEY_USERS
Foreach ($SID in $SIDs)
{
Set-ItemProperty -Path "HKU:\$SID\Control Panel\International" -Name "LocaleName" -Value "en-us"
}
Конечно, вы должны обновить все свойства, вы можете использовать раздел switch со всеми свойствами и значениями, или другие методы, дайте мне знать, если вам нужна дополнительная помощь по этому вопросу.