Работа с реестром из командной строки¶
Работа с реестром возможна не только через утилиту regedit.exe, но и напрямую из командной строки с помощью утилиты REG, она поддерживает все возможности, которые имеет программа regedit.exe. И более того – она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам невозможна.
К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.
Основной синтаксис¶
В общем виде синтаксис команды REG выглядит следующим образом:
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 запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:
REG QUERY [\Компьютер\]Путь [/v Параметр | /ve] [/s]
В составе директивы могут использоваться следующие параметры:
Компьютер– имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.Путь– полный путь к целевому разделу реестра в видекорень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM,HKCU,HKCR,HKUилиHKCC), аключ\подраздел- полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы./v– запрос о содержимом указанного раздела реестра.Параметр– вывести имя и значение запрашиваемого параметра в указанном разделе./ve– запрос стандартного параметра с пустым именем./s– вывести список всех подразделов данного раздела реестра вместе с их содержимым.
В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:
reg query "HKLM\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys"
Примечание
Лучше вводить путь в кавычках.
Будет выведен примерно такой результат:
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys
def.key REG_BINARY 300E0C0C415A415A415F6E6F70617373
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys\2015ZAO_
Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_.
Экспорт и импорт веток реестра (EXPORT и IMPORT)¶
Для экспорта используется команда EXPORT. Синтаксис команды:
REG EXPORT <имя_раздела> <имя_файла> [/y]
имя_раздела– полное имя подраздела реестра в одном из выбранных корневых разделов.имя_файла– имя.regфайла, который получится после экспорта.- Параметр
/yв конце команды позволяет выполнение замены существующего файла без запроса подтверждения.
Экспортируем контейнеры закрытых ключей на рабочий стол:
reg export "hklm\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-2-1-2889205033-3114528180-1522031737-1000\Keys" C:\Users\Dmitry\Desktop\keys.reg /y
Операция успешно завершена.
Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg. Теперь импортируем ее обратно.
Примечание
Команда доступна только для выполнения на локальном компьютере.
Для импорта используется команда IMPORT. Синтаксис команды:
REG IMPORT <имя_файла>
Выполним:
reg import C:\Users\747\Desktop\keys.reg
Операция успешно завершена.
Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg путь к ветке реестра с учетом разрядности операционной системы и SID текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].
Создание резервной копии реестра (SAVE и RESTORE)¶
Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE и REG RESTORE:
REG SAVE <имя_раздела> <имя_файла> [/y]
REG RESTORE <имя_раздела> <имя_файла>
Примечание
В данному разделе перечислены основные команды утилиты REG для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки