Применение твиков реестра ко всем учетным записям после установки ОС

OSzone.net » Microsoft » Автоматическая установка » Автоматическая установка Windows XP » Применение твиков реестра ко всем учетным записям после установки ОС
Автор: Вадим Стеркин aka Vadikan
Иcточник: unattended.oszone.net
Опубликована: 24.12.2007

Применить твики реестра ко всем пользователям проще всего во время установки системы, поскольку изменения вносятся в профиль Default User, который служит основой для создаваемых впоследствии профилей пользователей (см. статью Tвики реестра).

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

А как быть с остальными пользователями? Эта задача решается путем загрузки пользовательского куста реестра и внесения в него изменений из-под учетной записи, обладающей правами администратора.

Важно! Если вам нужно, чтобы изменения применялись ко всем учетным записям, созданным впоследствии, необходимо править стандартный профиль пользователя:

В зависимости от ситуации можно выполнить изменения как вручную, так и автоматически при помощи пакетного файла. Ниже рассматриваются оба способа.

Внесение изменений вручную

Редактор рееестра (regedit.exe) позволяет загрузить пользовательский куст реестра для внесения в него изменений. Пользовательский куст реестра хранится в файле NTUSER.DAT, расположенном в профиле пользователя. Для внесения изменений в куст реестра другого пользователя выполните следующие действия:

  1. Выполните вход в операционную систему под учетной записью администратора.
  2. Откройте редактор реестра (Пуск - Выполнить - regedit - Ок) и щелкните левой кнопкой мыши раздел HKEY_USERS
  3. Из меню Файл выберите команду Загрузить куст
  4. Перейдите в папку профиля пользователя, параметры которого вы хотите изменить, и дважды щелкните мышью файл NTUSER.DAT

  5. В диалоговом окне Загрузка куста реестра укажите имя, которое будет присвоено разделу реестра, содержащему загруженный куст (в этой статье используется имя Custom)
  6. Внесите необходимые изменения в загруженный раздел реестра. На скриншоте ниже производится изменение параметра, отвечающего за скорость открытия элементов меню Пуск

  7. После внесения изменений щелкните левой кнопкой мыши загруженный раздел (Custom) и выберите из меню Файл команду Выгрузить куст
  8. Если вам необходимо изменить параметры других пользователей, повторите шаги 3 - 7. Если вы хотите, чтобы изменения коснулись всех пользователей, создаваемых впоследствии, внесите изменения также и в профиль Default User.

Импорт параметров реестра из заранее подготовленного REG-файла

Описанный выше способ неудобен в том случае, если вам необходимо изменить большое количество параметров реестра. Если у вас имеется REG-файл с твиками реестра, которые вы хотите импортировать, его можно использовать после небольшой модификации.

Изменения в имеющемся REG-файле сводятся к замене названия раздела, в который производится импорт. Рассмотрим для примера вездесущий твик, изменяющий за скорость открытия элементов меню Пуск.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="2"

В этом REG-файле импорт производится в раздел HKEY_CURRENT_USER, однако нашей целью является импорт в раздел HKEY_USERS\Custom. Поэтому необходимо в любом текстовом редакторе заменить все упоминания HKEY_CURRENT_USER и/или HKCU на HKEY_USERS\Custom, после чего сохранить файл с любым именем и расширением .REG. Теперь вместо ручной правки параметров на шаге 6 способа, описанного выше, вы можете импортировать сразу все параметры, содержащиеся в созданном REG-файле, двойным щелчком мыши.

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

Внесение изменений автоматически

Сначала нужно подготовить REG-файл с твиками реестра, как описано в предыдущем разделе статьи. Содержащиеся в этом файле параметры можно автоматически импортировать при помощи приведенного ниже пакетного файла, помощь в написании которого оказал участник конференции OSZone amel27.

@echo off
:: Извлекаем из реестра полный путь к папке, содержащей профили пользователей
for /f "usebackq tokens=3,3* delims==	" %%i in (`reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory`) do set profiles=%%i
:: Полученный путь используем в качестве новой переменной %profiles%
for /f "usebackq delims==" %%i in (`echo %profiles%`) do set profiles=%%i
:: Для всех профилей пользователей (кроме All Users и %Username%) поочередно загружаем пользовательский
 :: куст реестра, представляющий собой файл NTUSER.DAT и импортируем в него заранее подготовленный
 :: REG-файл, содержащий твики реестра.
For /F "usebackq tokens=* delims==" %%i in (`DIR /B /AD-S "%profiles%" ^| FINDSTR /V /B /I /C:"All Users" /C:"%username%"`) DO (
   reg load HKEY_USERS\Custom "%profiles%\%%i\NTUSER.DAT"
   reg import tweak.reg
   reg unload HKEY_USERS\Custom
)
exit

В этом пакетном файле подразумевается, что ваш REG-файл называется tweak.reg и он расположен в одной папке с пакетным файлом. Изменения вносятся в учетную запись Default User, а также во все остальные учетные записи пользователей. Исключением является та учетная запись, из-под которой производятся изменения, поскольку ее куст реестра уже загружен. Однако в собственный раздел HKCU параметры реестра можно импортировать обычным способом - для этого не требуется никаких ухищрений.

Работоспособность файла проверялась только в Windows XP.


Ссылка: http://www.oszone.net/6167/