Работа с реестром из командной строки¶
Работа с реестром возможна не только через утилиту 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
для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки