Как скопировать ветку реестра
Часто бывают ситуации, когда после переустановки Windows оказывается, что часть настроек вновь установленных программ, в том числе и регистрация, остались в старой системе. Причем повторная настройка займет достаточно много времени – такой вариант не подходит.
Работа с Редактором реестра¶
Редактор реестра – инструмент, предназначенный для просмотра и изменения параметров в системном реестре, в котором содержатся сведения о работе компьютера.
Способы открытия редактора реестра описаны в разделе Открытие реестра данного руководства.
Создание резервной копии реестра (Экспорт)¶
Прежде чем вносить изменения в реестр, рекомендуется выполнить экспорт и создать его резервную копию. Можно сделать резервную копию как всего реестра в целом, так и отдельных разделов и подразделов. Позже эту резервную копию можно импортировать, чтобы отменить внесенные изменения.
Перед внесением каких-либо изменений в реестр всегда создавайте его резервную копию!
Чтобы создать полную копию реестра необходимо:
- Запустить редактор реестра, как это описано выше;
- Оставаясь в корне реестра открыть меню «Файл» и выбрать пункт «Экспорт…»;
- Выбрать место, где будет сохранена резервная копия, и указать «Имя файла»;
- Нажать на кнопку «Сохранить».
Чтобы сэкономить место, можно сделать резервную копию отдельного раздела или подраздела. Для этого необходимо нажать правой кнопкой мыши на раздел (подраздел) и в выпадающем меню выбрать пункт «Экспорт…». Также можно просто перейти в нужный раздел (подраздел) и выбрать меню «Файл → Экспорт…».

Рис. 5 – Экспорт веток реестра. Создание резервной копии.
Экспортированный файл будет иметь расширение .reg .
Экспортированные из реестра файлы с расширением .reg являются простыми текстовыми файлами, их можно открыть любым простым текстовым редактором (Notepad++, Блокнот).
Восстановление реестра из резервной копии (Импорт)¶
Чтобы импортировать сохраненный файл реестра, достаточно дважды нажать левой кнопкой мыши по файлу с расширением .reg .
- Открыть редактор реестра;
- В меню «Файл» выбрать пункт «Импортировать файл реестра»;
- В меню открытия файлов найти файл, который следует импортировать, выделить его и нажать кнопку «Открыть».
Операции экспорта и импорта используются не только для создания резервных копий. Практическое использование данных функций рассмотрено в главе Практические приёмы работы с Реестром данного руководства.
Поиск в реестре¶
Для быстрого доступа к параметром можно воспользоваться функцией поиска по реестру, которая находится в меню «Правка → Найти» ( Ctrl+F ).
Для перемещения между найденными значениями используется «Правка → Найти далее» ( F3 ).
Загрузка и выгрузка куста¶
Допустим, имеется жесткий диск с нерабочего компьютера. Чтобы получить доступ к определенным веткам реестра, который хранится на этом жестком диске, необходимо:
- Подключить жесткий диск к рабочему компьютеру;
- Открыть реестр на рабочем компьютере;
- Выбрать необходимую ветку реестра;

Рис. 6 – Выбор ветки
- Перейти в меню «Файл → Загрузить куст»;

Рис. 7 – Выбор ветки
- В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера;

Рис. 8 – Выбор ветки
- Задать произвольное имя загруженному кусту.

Рис. 9 – Присвоение произвольного имени разделу
В соответсвии с примером, в ветку HKEY_LOCAL_MACHINE работающего компьютера была загружена ветка HKEY_LOCAL_MACHINE\Software с неработающего компьютера.
Для загрузки других веток реестра, необходимо выбирать соответствующие файлы на жестком диске. Таблица соответсвия веток реестра и файлов на жестком диске приведена в главе Файлы реестра на жестком диске данного руководства.
Также допустимо скопировать папку C:\Windows\System32\config\ на обыкновенную флешку и загружать требуемые кусты с нее.
При работе с загруженными кустами есть нюанс, который заключается в разрешениях (правах) на доступ к тем или иным разделам. Подробнее о разрешениях написано в разделе Права доступа (Разрешения) данной главы.
Более простой способо обойти подводные камни с разрешениями на ветки заключается в использовании утилиты psexec.exe , работа с которой описана в разделе Работа через утилиту PsExec .
После завершения работы с загруженными кустами, их желательно выгрузить. Для этого необходимо перейти в «Файл → Выгрузить куст».
Права доступа (Разрешения)¶
Все разделы реестра имеют права доступа или разрешения. Если у текущего пользователя нет прав на определенный раздел, то будет выведено сообщение об ошибке и запрете доступа к данному разделу.
Прав доступа может не быть по нескольким причинам:
- У текущего пользователя, залогиненного в системе, нет прав администратора;
- Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
- Владельцем раздела является системная служба TrustedInstaller.
- Владельцем раздела является системная учетная запись «Система».
В первом случае необходимо обращаться к системному администратору, чтобы он предоставил доступ к учетной записи администратора или дал администраторские права пользователю.
Во втором случае необходимо присвоить полные права и сменить владельца.
Получение полных прав и смена владельца¶
- Нажать правой кнопкой мыши на раздел и выбрать пункт «Разрешения»;

Рис. 10 – Вызов диалога работы с разрешениями
- Выделить текущего пользователя:
- Если доступен флажок «Полный доступ», установить его и нажать кнопку «ОК. Этого может оказаться достаточно, если группа является владельцем раздела.

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

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

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

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

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

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

Рис. 17 – Установка полного доступа текущему владельцу
После добавления владельца и назначения прав нажать клавишу F5 или «Вид → Обновить». Напротив непустого раздела появится треугольник, который означает, что у текущего пользователя есть права на доступ в него.

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

Рис. 19 – Выбор/смена владельца в Windows 8 и выше [11]
Ручное добавление владельцев и прав доступа удобно, если нужно получить доступ всего к нескольким разделам. Если нужно получить доступ к большому количеству разделов, то гораздо целесообразнее воспользоваться утилитой PsExec.exe . Работа с данной утилитой рассматривается в разделе Работа через утилиту PsExec .
Работа через утилиту PsExec¶
Для запуска редактора реестра с полными правами от имени системы можно воспользоваться программой PsExec.exe.
-
утилиту PsExec.exe и скопируйте в корень диска C .
- Запустите командную строку от имени администратора. «Пуск → Выполнить → cmd».
- Введите в командную строку команду:
Запустится редактор реестра от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения)[11].
Если возникает сообщение об ошибке Couldn’t install PSEXESVC service. , то необходимо отключить контроль учетных записей Windows (UAC):
- Меню «Пуск → Панель управления»;
- «Учетные записи пользователей → Изменение параметров контроля учетных записей»;
- Сдвинуть ползунок до самого низа — «Никогда не уведомлять»;
- Перезагрузить компьютер.

Рис. 20 – Отключение параметров контроля учетных записей (UAC)
В Windows Vista в диалоговом окне «Пуск → Панель управления → Учетные записи пользователей → Включение и отключение контроля учетных записей» снять галочку «Используйте контроль учетных записей для защиты компьютера».
В Windows 8 и выше для полного отключения контроля учетных записей (UAC) необходимо в реестре в ветке HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System присвоить параметру EnableLUA значение 0 .

Рис. 21 – Отключение параметров контроля учетных записей (UAC) в Windows 8 и выше
После отключения параметров контроля учетных записей (UAC) необходима перезагрузка.
Добавление и удаление элементов¶
Для создания разделов, подразделов и параметров, необходимо перейти в меню «Правка → Создать» и выбрать необходимый тип создаваемого элемента. Либо нажать правой кнопкой мыши и в появившемся меню выбрать пункт «Создать».

Рис. 22 – Создание разделов, подразделов и параметров
Более подробную информацию о типах параметров смотрите в статье Сведения о реестре Windows для опытных пользователей.
Name already in use
regedit / docs / source / reg-cmd.rst
- Go to file T
- Go to line L
- Copy path
- Copy permalink
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Работа с реестром из командной строки
Работа с реестром возможна не только через утилиту regedit.exe , но и напрямую из командной строки с помощью утилиты REG , она поддерживает все возможности, которые имеет программа regedit.exe . И более того — она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам невозможна.
К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.
В общем виде синтаксис команды REG выглядит следующим образом:
Всего существует одиннадцать процедур, которые способна выполнять директива REG : QUERY , ADD , DELETE , COPY , SAVE , LOAD , UNLOAD , RESTORE , COMPARE , EXPORT , IMPORT . Каждая из этих процедур имеет, как правило, собственный набор параметров.
При вызове из командной строки директива REG пересылает в окружение операционной системы так называемый код возврата: сообщение об успешном или неуспешном выполнении операции. Если код возврата равен 0 , это означает, что операция была выполнена успешно, если же она завершилась с ошибкой, код возврата будет равен 1 .
Более подробные сведения об использовании утилиты REG вы можете получить, набрав в командной строке директиву REG /? , чтобы получить информацию о какой-либо из перечисленных процедур, воспользуйтесь командой REG <процедура> /? .
Для удобства ввода применяются сокращения названий веток реестра. Все сокращения представлены в таблице ниже:
Сокращения названий веток реестра
| Ветка | Сокращение |
|---|---|
| HKEY_CLASSES_ROOT | HKCR |
| HKEY_CURRENT_USER | HKCU |
| HKEY_LOCAL_MACHINE | HKLM |
| HKEY_USERS | HKU |
| HKEY_CURRENT_CONFIG | HKCC |
Вывод содержимого ветвей (QUERY)
Команда REG QUERY отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:
В составе директивы могут использоваться следующие параметры:
- Компьютер — имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.
- Путь — полный путь к целевому разделу реестра в виде корень\ключ\подраздел , где корень — сокращенное обозначение ветви реестра ( HKLM , HKCU , HKCR , HKU или HKCC ), а ключ\подраздел — полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
- /v — запрос о содержимом указанного раздела реестра.
- Параметр — вывести имя и значение запрашиваемого параметра в указанном разделе.
- /ve — запрос стандартного параметра с пустым именем.
- /s — вывести список всех подразделов данного раздела реестра вместе с их содержимым.
В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:
Лучше вводить путь в кавычках.
Будет выведен примерно такой результат:
Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_ .
Экспорт и импорт веток реестра (EXPORT и IMPORT)
Для экспорта используется команда EXPORT . Синтаксис команды:
- имя_раздела — полное имя подраздела реестра в одном из выбранных корневых разделов.
- имя_файла — имя .reg файла, который получится после экспорта.
- Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.
Экспортируем контейнеры закрытых ключей на рабочий стол:
Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg . Теперь импортируем ее обратно.
Команда доступна только для выполнения на локальном компьютере.
Для импорта используется команда IMPORT . Синтаксис команды:
Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg путь к ветке реестра с учетом разрядности операционной системы и SID текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].
Создание резервной копии реестра (SAVE и RESTORE)
Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE и REG RESTORE :
В данному разделе перечислены основные команды утилиты REG для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки
Редактирование реестра Windows из командной строки, bat-файлы

На нашем ресурсе уже есть публикация, описывающая основной способ работы с системным реестром Windows : Изменение параметров cистемного реестра Windows. Также мы рассматривали способ автоматизации процесса при помощи специальных файлов: Создание reg-файлов. Синтаксис редактирования записей реестра — позволяющий значительно упростить монотонную работу и воспроизведение часто используемых настроек. В рамках данной статьи мы затронем логическое продолжение темы, а именно, поговорим о том, как редактировать реестр из командной строки.
Содержание статьи:
Использование bat-файлов для редактирования реестра
Точнее сказать, мы, разумеется, не будем раз за разом вручную прописывать нужные параметры в окне консоли, не для этого данный способ нужен, мы рассмотрим вариант внесения изменений в системный реестр Windows при помощи bat-файлов.
Достаточно подробно о создании и использовании батников речь шла в записи Пакетные файлы (bat, батники) Windows, ещё одна функция, которую можно и нужно использовать — изменение записей реестра при помощи cmd языка .
Использование батников для редактирования реестра иногда может быть выгоднее и удобнее, нежели работа со стандартными для этих целей reg-файлами.
- батники шире используются в администрировании;
- батники имеют режим тихого запуска (без всплывающих окон);
- батники можно запускать с повышенными правами, то есть от имени Администратора;
- с помощью бат-файлов возможна работа с реестром сетевых машин.
Именно для таких частных случаев будет полезно знать, как написать батник для редактирования системного реестра Windows.
Работа с реестром из командной строки
Синтаксис бат-файлов и процесс их создания описан в статье, приведённой выше, в данной же публикации затронем исключительно тему, касающуюся выполнения функции изменения реестра из командной строки.
Сразу отметим, что в bat-файлах не требуется заголовок в начале файла по типу того, что используется в reg-файлах: Windows Registry Editor Version 5.00 — здесь можно начинать писать команду с первой же строки.
Для начала приведём основные параметры, используемые при работе с реестром из командной строки:
- /v — имя добавляемого/изменяемого ключа;
- /ve — добавление пустого параметра;
- /t — параметр для указания типа добавляемых/изменяемых данных;
- /d — значение, присваиваемое параметру;
- /s — применение команды ко всем вложенным ключам;
- /f — отключение системных предупреждений при выполнении операции.
Но, конечно, основа любого батника Windows — сама команда. Итак, приведём список команд, используемых для редактирования реестра .
reg add — команда для добавления данных, будь то параметры, ключи или целые ветки.
Допустим, после вирусной атаки нам необходимо вернуть место хранения hosts файла (а также файлов lmhosts, networks и protocols) в директорию %SystemRoot%\System32\drivers\etc\ Для этого нужно выполнить команду:
Если немного применить фантазию и оформить батник, то код будет выглядеть примерно следующим образом:
Вот такой файл, как в архиве, у нас получится: drivers_etc
Остальные примеры в данной статье будем приводить вымышленные, дабы при их тестировании не вносить нежелательных изменений в реестр
reg delete — команда для удаления указанной информации из реестра компьютера.
Чтобы удалить определённый параметр, нам достаточно указать его полный путь после команды удаления. Пример:
Данная команда удалит параметр Save из указанной ветки.
reg copy — команда для копирования параметров и ключей из одной ветки реестра в другую.
Для копирования параметров достаточно после команды последовательно прописать сначала исходную ветку, а потом изменяемую. Например:
Данная команда скопирует всю информацию из ветки User1 в ветку User2.
reg export — команда для экспорта указанных веток реестра в виде *.reg файла на жёсткий диск.
Пример использования:
В результате выполнения данной команды будет создан рег-файл с бэкапом раздела Football.
reg import — команда, позволяющая импортировать данные из reg-файла в реестр системы.
Пример использования:
В результате выполнения данной команды записи из рег-файла будут импортированы в реестр.
reg query — данная команда возвращает значение запрашиваемых параметров и кустов реестра.
Пример использования:
В ответ будет возвращено значение параметра Run в реестре.
reg compare — команда позволяет сравнить две указанные последовательно ветки реестра.
Пример использования:
В ответ команда возвращает одно из значений: 0 — данные веток идентичны; 1 — при выполнении операции произошла ошибка; 2 — данные веток отличаются.
reg load , reg unload , reg save , reg restore — команды, позволяющие бэкапить и восстанавливать нужные ветки системного реестра Windows при помощи файлов *.hiv.
Изменение параметров реестра компьютера в сети
Выше мы рассмотрели достаточно широкие возможности батников в работе с реестром операционной системы. Последний момент, который отметим в контексте данной темы — это редактирование реестра компьютеров в локальной сети.
Для использования в работе с компьютерами в сети доступны все вышеперечисленные команды, единственное ограничение — операции из командной строки над реестром удалённых машин возможно производить только в разделах HKEY_ LOCAL_MACHINE (HKLM), и HKEY_USERS (HKU)
Ну и главное: чтобы работать с реестром компьютера в сети, необходимо в применяемой команде перед разделом указать имя удалённой машины, начинающееся с двойного обратного слеша.
При этом, в командах, обрабатывающих сразу несколько разделов (например, копирование из одного раздела в другой, сравнение веток), одна из веток может располагаться на локальном компьютере, а другая на компьютере в сети.
То есть, для копирования ветки с удалённой машины на наш компьютер необходимо выполнить следующую команду:
Указанная команда скопирует содержимое раздела User с компьютера FRIEND в локальной сети в реестр машины, с которой выполняется команда.
На этом заключительную статью описания общих принципов работы с реестром компьютера и с bat-файлами можно считать завершённой.
Безошибочных вам команд и корректных ключей реестра.