Редактирование системного реестра Windows – полезное умение в руках каждого пользователя. В статье Изменение параметров cистемного реестра Windows мы познакомились с самим реестром, его структурой и рассмотрели примеры с изменениями параметров его ключей. Сегодня мы поговорим о том, как автоматизировать процесс правки реестра и сделать его удобнее и быстрее.
Для примера мы поменяем клавиши смены языка ввода с Alt + Shift на Ctrl + Shift.
На интересует ветка реестра
И ключи , и , которые имеют значения по умолчанию , и , соответственно.
Для изменения сочетания клавиш нам нужно будет присвоить им новые значения “”=””, “”=””, “”=””
Итак, для создания открываем текстовый редактор, например, Блокнот Windows. Вставляем в окно редактора следующий код:
После этого жмём в меню текстового редактора на кнопку , выбираем пункт , в строке выбираем , а в строке задаём название, в конце которого ставим точку и дописываем расширение .reg.

Смена языка по Alt + Shift: language_alt_shift
Смена языка по Ctrl + Shift: language_ctrl_shift
The registry is the place where most of the applications store the settings but not only. Used also from the windows system to store important settings in order to be available to operate. We will cover a series of articles to explain how can be added, edited, and deleted the registry keys and values. This will be done using the Windows command prompt but not only. Will try to use also the PowerShell and GPO. In the end, you will be available to change them individually or over the network using batch. In this part, we will cover how to add registry key and values with command line, PowerShell, and batch file.
How to Edit Registry Key/value
How to Delete Registry Key/value
How to add registry key and value with CMD

Add Registry Key CMD
Reg Add Regkey /v RegValue /t RegType /d data

Add Registry Value CMD
How to add Registry key and value with PowerShell

Add Registry Key Powershell
# Create new items with values
New-ItemProperty -Path ‘HKCU:SoftwareNewTestKey’ -Name ‘TestValue’ -Value ‘1’ -PropertyType ‘DWORD’ –Force
# Get out of the Registry
Pop-Location

Add Registry Value PowerShell
How to add Registry key and value on a remote computer
Below is the command to add registry key on a remote computer. To run it:
REG ADD \ComputerNameHKCUSoftwareNewTestKey
Below is the command to add registry value on a remote computer. To run it:
REG ADD \ComputerNameHKCUSoftwareNewTestKey /v TestValue /t REG_DWORD /d 1
How to add registry key and value with batch file
The same commands used above to add the registry key from the command prompt can be integrated on the batch file. The commands can be used on the existing batch along with other commands or on the new batch file. To create a new batch file:
The bat files used mostly when you want to spread it over the network using GPO or SCCM
You can add registry key and value by using .reg file. This file structure can be found by exporting certain keys from the regedit interface by right-clicking on it and the export option. To create it from the screech:
The command with creating new value “TestValue” of type dword with value “1”. To execute .reg files, double-click it and after typing to the confirmation yes the changes with be done.

Add Registry Key with regedit
Conclusion
Прежде чем вносить изменения в реестр, рекомендуется выполнить экспорт и создать его резервную копию. Можно сделать резервную копию как всего реестра в целом, так и отдельных разделов и подразделов. Позже эту резервную копию можно импортировать, чтобы отменить внесенные изменения.
Перед внесением каких-либо изменений в реестр всегда создавайте его резервную копию!
Чтобы создать полную копию реестра необходимо:

Рис. 5 – Экспорт веток реестра. Создание резервной копии.
Экспортированный файл будет иметь расширение .
Экспортированные из реестра файлы с расширением являются простыми текстовыми файлами, их можно открыть любым простым текстовым редактором (Notepad++, Блокнот).
Изменение нескольких веток реестра в одном reg-файле
Если же нам необходимо изменить одним файлом ключи, расположенные в различных кустах реестра Windows, то совсем не обязательно на каждую ветку создавать отдельный файл. Для этого нам достаточно после описания параметров первой ветки добавить настройку следующей ветки с новой строки.
Для примера, приведём код, позволяющий отключить автозапуск со съёмных носителей и подключаемых устройств:
Записи настроек текущего пользователя здесь добавлены для верности, при необходимости можно вставить в создаваемый reg-файл только нужные строки.
Добавление ключей в реестр через reg-файл
Пример выше изменяет параметры . Но бывают ситуации, когда нам нужно добавить ключ, которого нет в реестре на данный момент. Напомним, что в статье о реестре Windows, упомянутой в начале данной записи, мы выделяли один момент:
В первую очередь отметим, что некоторые ключи имеют дефолтные значения. Это значит, что даже если конкретный ключ отсутствует в своей ветке, система будет вести себя, будто ему присвоен параметр по умолчанию.
Например, код reg-файла, позволяющего отключить автоматическую перезагрузку компьютера в случае появления синего экрана BSOD, будет выглядеть следующим образом:
где – это тип данных добавляемого ключа реестра.
Права доступа (Разрешения)¶
Все разделы реестра имеют права доступа или разрешения. Если у текущего пользователя нет прав на определенный раздел, то будет выведено сообщение об ошибке и запрете доступа к данному разделу.
Прав доступа может не быть по нескольким причинам:
В первом случае необходимо обращаться к системному администратору, чтобы он предоставил доступ к учетной записи администратора или дал администраторские права пользователю.
Во втором случае необходимо присвоить полные права и сменить владельца.
Получение полных прав и смена владельца¶

Рис. 10 – Вызов диалога работы с разрешениями

Рис. 11 – Открытие Полного доступа гурппам и пользователям
Если отсутствует необходимый пользователь, флажок «Полный доступ» недоступен или возникает сообщение об ошибке, переходите к пункту 3.

Рис. 12 – Добавление или смена владельца
Во время добавления разрешений и владельцев могут возникать сообщения об отсутсвии прав доступа. Данные сообщения можно смело игнорировать.
Перейти на вкладку «Владелец» и добавить текущего пользователя;

Рис. 13 – Выбор владельца
На вкладке «Разрешения» нажать кнопку «Добавить»;

Рис. 14 – Добавление разрешений владельцу
В поле «Введите имена выбираемых объектов» ввести имя текущей учетной записи и нажать кнопку «Проверить имена», затем нажать «ОК»;

Рис. 15 – Ввод имени выбираемых объектов

Рис. 16 – Проверка имен
Появится диалог разрешений. Поставить галочку напротив «Полный доступ» и нажать «ОК»;

Рис. 17 – Установка полного доступа текущему владельцу

Рис. 18 – Доступ к подразделам
На рисунке 18 видно, что у текущего пользователя есть доступ к подразделу , но нет прав на открытие разделов и . Треугольника напротив подраздела может не быть, если данный подраздел пуст.
В Windows 8 и выше порядок работы с диалогом смены и добавления владельца немного отличается – владелец выбирается сверху.

Ручное добавление владельцев и прав доступа удобно, если нужно получить доступ всего к нескольким разделам. Если нужно получить доступ к большому количеству разделов, то гораздо целесообразнее воспользоваться утилитой . Работа с данной утилитой рассматривается в разделе Работа через утилиту PsExec.
Работа через утилиту PsExec¶
Для запуска редактора реестра с полными правами от имени системы можно воспользоваться программой PsExec.exe.

Рис. 20 – Отключение параметров контроля учетных записей (UAC)
В Windows 8 и выше для полного отключения контроля учетных записей (UAC) необходимо в реестре в ветке присвоить параметру значение .

Рис. 21 – Отключение параметров контроля учетных записей (UAC) в Windows 8 и выше
После отключения параметров контроля учетных записей (UAC) необходима перезагрузка.
Восстановление реестра из резервной копии (Импорт)¶
Чтобы импортировать сохраненный файл реестра, достаточно дважды нажать левой кнопкой мыши по файлу с расширением .
Операции экспорта и импорта используются не только для создания резервных копий. Практическое использование данных функций рассмотрено в главе Практические приёмы работы с Реестром данного руководства.
Разделы и параметры реестра Windows
Реестр Windows хранит конфигурационную информацию операционной системы, приложений, пользователей и оборудования. Эти данные содержатся в разделах (keys) и параметрах (values) реестра, которые размещаются в определенном корневом разделе (root key), который контролирует, как и когда используются разделы и параметры. В корневых разделах вы найдете главные разделы (main keys), управляющие параметрами системы, пользователей, приложений и оборудования. Эти разделы организованы в древовидную структуру, где разделы представлены папками. Так, в разделе HKEY_LOCAL MACHINESYSTEMCurrentControlSetServices находятся папки для всех служб, установленных в системе. В этих папках содержатся разделы реестра, хранящие важную конфигурационную информацию, и их подразделы (subkeys). Нужные разделы реестра задаются через их пути к папкам.
Команда REG управления реестром из командной строки
REG поддерживает несколько подкоманд, и мы рассмотрим некоторые из них.
Загрузка и выгрузка куста¶
Допустим, имеется жесткий диск с нерабочего компьютера. Чтобы получить доступ к определенным веткам реестра, который хранится на этом жестком диске, необходимо:

Рис. 6 – Выбор ветки

Рис. 7 – Выбор ветки

Рис. 8 – Выбор ветки

Рис. 9 – Присвоение произвольного имени разделу
В соответсвии с примером, в ветку работающего компьютера была загружена ветка с неработающего компьютера.
Для загрузки других веток реестра, необходимо выбирать соответствующие файлы на жестком диске. Таблица соответсвия веток реестра и файлов на жестком диске приведена в главе Файлы реестра на жестком диске данного руководства.
Также допустимо скопировать папку на обыкновенную флешку и загружать требуемые кусты с нее.
При работе с загруженными кустами есть нюанс, который заключается в разрешениях (правах) на доступ к тем или иным разделам. Подробнее о разрешениях написано в разделе Права доступа (Разрешения) данной главы.
Более простой способо обойти подводные камни с разрешениями на ветки заключается в использовании утилиты , работа с которой описана в разделе Работа через утилиту PsExec.
Бонус. Восстановление ассоциаций ярлыков и файлов
После вирусной атаки на компьютер иногда случается так, что при попытке запуска определённого типа файлов стартует не предназначенная для этого программа.
Если с нарушением ассоциаций медиафайлов и документов легко справиться при помощи контекстного меню Открыть с помощью, то исправление нарушения запуска ярлыков и программ требует вмешательства в настройки системы.
Восстановление ассоциаций exe-файлов (исполнительных файлов, программ): exe-associations-fix
Восстановление ассоциаций lnk-файлов (ярлыков): lnk-associations-fix
Восстановление ассоциаций всех файлов (включая lnk и exe): all-associations-fix
Сегодня мы поговорили о том, что редактировать реестр Windows можно не только вручную, но и посредством reg-файлов. Добавление, редактирование, копирование и удаление данных реестра возможно и с помощью bat-файлов, о синтаксисе которых мы говорили в теме Пакетные файлы (bat, батники) Windows, но этот вопрос выходит за рамки обсуждения данной статьи и рассмотрен отдельно в публикации Редактирование реестра Windows из командной строки, bat-файлы
Добавление и удаление элементов¶

Рис. 22 – Создание разделов, подразделов и параметров
Работа с реестром из командной строки
Реестр Windows хранит параметры конфигурации всей операционной системы Windows. С помощью утилиты командной строки Reg можно просматривать, добавлять, удалять, сравнивать и копировать элементы реестра. Поскольку реестр Windows крайне важен для корректной работы операционной системы, вносите изменения в реестр, лишь точно зная, как они повлияют на систему. Прежде чем редактировать реестр каким-либо способом, выполните полное резервное копирование системы и создайте снимок данных для восстановления системы. Тогда в случае ошибки вы сможете восстановить реестр и систему.
Ручное изменение ключей реестра приемлемо в том случае, когда вам необходимо разово произвести ту или иную настройку. Но если нам нужно повторять одну настройку с определённой периодичностью или задать нужные параметры на нескольких компьютерах, то возникает необходимость в упрощении процесса правки данной базы настроек системы.
Для автоматизации процесса редактирования реестра служат специальные файлы со своим и расширением *.reg. В вышеупомянутой записи о знакомстве с реестром Windows мы уже сталкивались с подобными файлами при создании резервной копии веток реестра и восстановлении их из бэкапа. Но такие рег-файлы можно писать и самому, если придерживаться определённых правил.
Работа с Редактором реестра¶
Редактор реестра – инструмент, предназначенный для просмотра и изменения параметров в системном реестре, в котором содержатся сведения о работе компьютера.
Способы открытия редактора реестра описаны в разделе данного руководства.
Удаление веток реестра reg-файлом
Выше мы рассмотрели синтаксис registry-файлов для и . Но как писать файл, если нам надо удалить хвосты в реестре, допустим, после деинсталляции программы.
Пример конкретных программ рассматривать не будем, а решим задачу по удалению из окна Проводника на вкладке Мой компьютер лишних папок: Видео, Документы, Загрузки, Изображения, Музыка, Рабочий стол

Пишем reg-файл, в котором перед каждой веткой для удаления ставим минус:
И по традиции готовый файл редактирования реестра: folders_remove




