Сценарий языковых настроек для Windows

2010-11-24 Андрей Гревцов RSS 1

Обычным пользователям Windows достаточно выполнения языковые настроек во время установки операционной системы или после через апплет панели управления. Администраторам часто требуется немного другие параметры и сразу на всех компьютерах домена. Наилучший способ для автоматизации процесса настройки - изменение ключей реестра с использованием групповых политик. В новейших версиях Windows указать значения для ключей реестра компьютера можно непосредственно через оснастку управления групповыми политиками, а в более старых системах можно использовать сценарий vbs. Несколько лет назад я сделал скрипт, используемый мною и по настоящее время, который позволяет сделать следующее:

  • установить английский язык в окне входа в систему (logon language);
  • включить дополнительную цифровую клавиатуру NumLock;
  • установка сочетание ALT+SHIFT для переключения раскладок клавиатуры;
  • настроить правильную работу с русским языком в окне NTVDM (DOS);
  • отключенить автоматический выбор языка удалённого рабочего стола в зависимости от языковых настроек клиента (http://support.microsoft.com/kb/924852).
Вот он:
on error resume next
Set objWshShell = WScript.CreateObject("WScript.Shell")
' Английский в окне Logon язык по умолчанию 
p = "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload\"
t = "REG_SZ"
objWshShell.RegWrite p&"1", "00000409", t
objWshShell.RegWrite p&"2", "00000419", t
' NUMLOCK включен
p = "HKEY_USERS\.DEFAULT\Control Panel\Keyboard\"
t = "REG_SZ"
objWshShell.RegWrite p&"InitialKeyboardIndicators", "2", t
' Установка сочетания ALT+SHIFT для переключения раскладки
p = "HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle\"
t = "REG_SZ"
objWshShell.RegWrite p&"Hotkey", "1", t
objWshShell.RegWrite p&"Language Hotkey", "1", t
objWshShell.RegWrite p&"Layout Hotkey", "2", t
' Русский язык в окне DOS
p="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes\"
t = "REG_SZ"
objWshShell.RegWrite p&"00000409", "RU", t
' Если нужно сделать изменения только для текущего пользователя, то поменять
' p = "HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle\"
' на
' p = "HKEY_CURRENT_USER\Keyboard Layout\Toggle\"
' При входе в терминальную сессию система автоматически выбирает язык по умолчанию
' по локали клиента, то есть для русских систем - русский 
' http://support.microsoft.com/kb/924852
' Устраняем эту "фичу"
p="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\"
t= "REG_DWORD"
objWshShell.RegWrite p&"IgnoreRemoteKeyboardLayout", "1", t
Пользуйтесь.

Скачать

Просмотров: 21981 WSH , , ,
Еще записи по теме
Комментариев: 1
  1. Большое спасибо и за идею и за предоставленную реализацию 8*)

Оставьте комментарий!