Применить твики реестра ко всем пользователям проще всего во время установки системы, поскольку изменения вносятся в профиль Default User, который служит основой для создаваемых впоследствии профилей пользователей (см. статью Tвики реестра).
Однако нередко бывает так, что уже после установки системы необходимо внести изменения в настройки имеющихся в системе пользователей, т. е. для каждого пользователя изменить параметры раздела HKCU. Поскольку этот раздел всегда отражает настройки текущего пользователя, изменяя его параметры, можно добиться только изменений в настройках собственной учетной записи.
А как быть с остальными пользователями? Эта задача решается путем загрузки пользовательского куста реестра и внесения в него изменений из-под учетной записи, обладающей правами администратора.
Важно! Если вам нужно, чтобы изменения применялись ко всем учетным записям, созданным впоследствии, необходимо править стандартный профиль пользователя:
- в Windows 7 и Vista: %SystemDrive%\Users\Default
- в Windows XP: %SystemDrive%\Documents and Settings\Default User
В зависимости от ситуации можно выполнить изменения как вручную, так и автоматически при помощи пакетного файла. Ниже рассматриваются оба способа.
Внесение изменений вручную
Редактор рееестра (regedit.exe) позволяет загрузить пользовательский куст реестра для внесения в него изменений. Пользовательский куст реестра хранится в файле NTUSER.DAT, расположенном в профиле пользователя. Для внесения изменений в куст реестра другого пользователя выполните следующие действия:
- Выполните вход в операционную систему под учетной записью администратора.
- Откройте редактор реестра (Пуск - Выполнить - regedit - Ок) и щелкните левой кнопкой мыши раздел HKEY_USERS
- Из меню Файл выберите команду Загрузить куст
- Перейдите в папку профиля пользователя, параметры которого вы хотите изменить, и дважды щелкните мышью файл NTUSER.DAT
- В диалоговом окне Загрузка куста реестра укажите имя, которое будет присвоено разделу реестра, содержащему загруженный куст (в этой статье используется имя Custom)
- Внесите необходимые изменения в загруженный раздел реестра. На скриншоте ниже производится изменение параметра, отвечающего за скорость открытия элементов меню Пуск
- После внесения изменений щелкните левой кнопкой мыши загруженный раздел (Custom) и выберите из меню Файл команду Выгрузить куст
- Если вам необходимо изменить параметры других пользователей, повторите шаги 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.