Управление реестром с помощью командной строки

В общем виде синтаксис команды REG выглядит следующим образом:

REG <процедура> [список параметров]

Всего существует одиннадцать процедур, которые способна выполнять директива REG: QUERY, ADD, DELETE, COPY, SAVE, LOAD, UNLOAD, RESTORE, COMPARE, EXPORT, IMPORT. Каждая из этих процедур имеет, как правило, собственный набор параметров. В настоящей главе мы подробно изучим каждую из них.

При вызове из командной строки директива REG пересылает в окружение операционной системы так называемый код возврата: сообщение об успешном или неуспешном выполнении операции. Если код возврата равен 0, это означает, что операция была выполнена успешно, если же она завершилась с ошибкой, код возврата будет равен 1. Более подробные сведения об использовании утилиты REG вы можете получить, набрав в командной строке директиву REG /?, чтобы получить информацию о какой-либо из перечисленных процедур, воспользуйтесь командой REG <процедура> /?.

REG QUERY

Команда REG QUERY отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:

REG QUERY [\Компьютер\]Путь [/v Параметр | /ve] [/s]

В составе директивы могут использоваться следующие параметры:

  • Компьютер - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.
  • Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
  • /v - запрос о содержимом указанного раздела реестра.
  • Параметр - вывести имя и значение запрашиваемого параметра в указанном разделе.
  • /ve - запрос стандартного параметра с пустым именем.
  • /s - вывести список всех подразделов данного раздела реестра вместе с их содержимым.

Примеры использования:

REG QUERY HKCC\Softvare\Microsoft\windows\CurrentVersion\Internet Settings /v ProxyEnable

Показывает имя и значение параметра ProxyEnable в разделе реестра HKCC\Softvare\Microsoft\windows\CurrentVersion\Internet Settings

REG QUERY HKLM\Software\Microsoft\Office /s

Показать список всех подразделов и содержащихся в них параметров для раздела реестра HKLM\Software\Microsoft\Office.

REG ADD

Данная команда добавляет в выбранный раздел реестра указанные пользователем параметры. Общий синтаксис этой директивы выглядит следующим образом:

REG ADD <Раздел> [\\<компьютер>\]<путь> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]

В составе директивы могут использоваться следующие параметры:

  • Раздел - полный путь к редактируемому разделу реестра в формате [\\<компьютер>\]<путь>, где <компьютер> - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
  • /v <параметр> - имя параметра, добавляемого в указанный раздел.
  • /ve - добавить пустой параметр (параметр по умолчанию) в указанный раздел.
  • /t <тип> - явное указание на тип данных добавляемого в указанный раздел реестра параметра. Может принимать одно из следующих значений: REG_SZ, REG_MULTI_SZ, REG_DWORD_BIG_ENDIAN, REG_DWORD, REG_BINARY, REG_DWORD_LITTLE_ENDIAN, REG_NONE или REG_EXPAND_SZ. Если тип параметра не указан, по умолчанию для данного параметра определяется тип REG_SZ.
  • /s <разделитель> - тип разделителя значений для разграничения данных, хранящихся в многострочных параметрах типа REG_MULTI_SZ. По умолчанию разделитель имеет вид «\0».
  • /d <данные> - значение, присваиваемое добавляемому параметру реестра.
  • /f - перезаписывать уже существующие в реестре параметры и значения, замещая их указанными в командной строке, без демонстрации предупреждений.

Примеры использования:

REG ADD \\NetComp\HKLM\Software\NewSubkey

Добавляет подраздел NewSubkey в раздел реестра HKLM\Software на удаленном компьютере NetComp.

REG ADD HKLM\Software\NewSubkey /v Value1 /t REG_SZ /d ac23456ffed

Добавляет в подраздел локального реестра HKLM\Software\NewSubkey параметр с именем Value1 типа REG_SZ, и присваивает ему значение ac23456ffed.

REG ADD HKLM\Software\NewSubkey /v Path /t REG_EXPAND_SZ /d %%systemroot%%\System32

Добавляет в подраздел локального реестра HKLM\Software\NewSubkey параметр с именем Path типа REG_EXPAND_SZ, и присваивает ему значение %systemroot%\System32

ПРИМЕЧАНИЕ

В случае записи в командной строке для директивы REG стандартных переменных окружения Windows, необходимо использовать для их выделения дополнительный символ «%» (%%переменная%%)

REG DELETE

С использованием данной команды выполняется удаление из реестра указанного ключа, подраздела или параметра. Общий синтаксис этой директивы выглядит следующим образом:

REG DELETE [\Компьютер\]Путь [/v Параметр | /ve | /va] [/f]

В составе директивы могут использоваться следующие параметры:

  • Компьютер - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
  • Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.
  • /v <параметр> - удаление параметра с указанным именем. Если имя опущено, из данного раздела будут удалены все содержащиеся в нем параметры.
  • /ve - удалять все безымянные параметры, содержащиеся в данном разделе.
  • /va - запрашивать все параметры из данного раздела реестра.
  • /f - выполнять удаление без дополнительного предупреждения.

Примеры использования:

REG DELETE \HKLM\Software\NewSubkey

Удаляет подраздел NewSubkey вместе со всем его содержимым из раздела реестра HKLM\Software.

REG DELETE \HKLM\Software\Prog /v PARAM /f

Без предварительного подтверждения удаляет параметр PARAM из раздела реестра HKLM\Software\Prog.

REG COPY

С использованием команды REG COPY можно скопировать разделы, подразделы и параметры из одного раздела реестра в другой, как на локальном компьютере, так и по сети. Общий синтаксис этой директивы выглядит следующим образом:

REG COPY <раздел1> <раздел2> [/s] [/f]

В составе директивы могут использоваться следующие параметры:

  • <раздел1> - полное описание раздела, из которого копируются данные, в формате [\\<компьютер>\]<путь>, где <компьютер> - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
  • <раздел2> - полное описание раздела, в который копируются данные. Формат записи такой же, как и в предыдущем случае.
  • /s - копировать все подразделы и параметры, содержащиеся в указанном разделе.
  • /f - выполнять копирование без предварительного предупреждения. Если в целевом разделе уже присутствуют подразделы и параметры, имена которых совпадают с копируемыми, они будут перезаписаны.

Примеры использования:

REG COPY HKLM\Software\Program HKLM\Software\Restore /s

Скопировать все содержимое раздела реестра HKLM\Software\Program в раздел HKLM\Software\Restore.

REG COPY \\SERVER\HKLM\Software\Microsoft HKLM\Software\Server

Скопировать все параметры раздела реестра HKLM\Software\Microsoft с удаленного компьютера Server в раздел HKLM\Software\Server локального компьютера.

REG SAVE

Команда REG SAVE позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .hiv, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:

REG SAVE <раздел> <имя файла>

В составе директивы могут использоваться следующие параметры:

  • <раздел> - описание локального раздела реестра, содержимое которого вы планируете сохранить в файле, должно включать обозначение ветви (HKLM, HKCU, HKCR, HKU или HKCC) и всех подразделов. Использование этой команды для удаленных компьютеров не допускается.
  • <имя файла> - имя файла, в который сохраняется содержимое раздела, включая путь к этому файлу. Если путь не указан, файл автоматически создается в текущей папке вызвавшего команду процесса.

Примеры использования:

REG SAVE HKCC\System\CurrentControlSet ControlSet.hiv

Сохраняет подраздел реестра HKCC\System\CurrentControlSet вместе со всем его содержимым в файл ControlSet.hiv, создаваемый в текущей папке.

REG RESTORE

С использованием этой команды можно восстановить поврежденный ключ, раздел или подраздел реестра из файла .hiv, созданного ранее командой REG SAVE. В процессе восстановления все существующие в указанном разделе подразделы и параметры реестра перезаписываются. Стандартный формат данной команды таков:

REG RESTORE <раздел> <имя файла>

В составе директивы могут использоваться следующие параметры:

  • <раздел> - описание локального раздела реестра, содержимое которого вы планируете восстановить из файла с указанным именем, должно включать обозначение ветви (HKLM, HKCU, HKCR, HKU или HKCC) и всех подразделов. Использование этой команды для удаленных компьютеров не допускается.
  • <имя файла> - имя файла, из которого восстанавливается содержимое раздела.

Примеры использования:

REG RESTORE HKLM\Software\Microsoft MSBackup.hiv

Восстанавливает подраздел реестра HKLM\Software\Microsoft из ранее сохраненного на диске файла MSBackup.hiv, перезаписывая все содержимое указанного раздела.

REG LOAD

Действие команды REG LOAD в целом аналогично директиве REG RESTORE, с тем лишь исключением, что данная команда загружает ранее сохраненные в файле .hiv данные только в те ветви реестра, которые хранятся в оперативной памяти компьютера в ходе всего сеанса работы пользователя с операционной системой, то есть в дочерние разделы и подразделы ветвей HKLM и HKU. Для загрузки данных из файла в реестре обычно создается новый раздел с заданным пользователем именем. Синтаксис записи этой команды выглядит следующим образом:

REG LOAD <раздел> <имя файла>

В составе директивы могут использоваться следующие параметры:

  • <раздел> - описание локального раздела реестра, содержимое которого вы планируете загрузить из файла с указанным именем; разрешается использовать только обозначение ветвей HKLM и HKU. В качестве имени раздела можно вводить произвольное имя, которое будет автоматически назначено вновь созданному разделу указанной ветви реестра. Использование этой команды для удаленных компьютеров не допускается.
  • <имя файла> - имя файла, из которого восстанавливается содержимое раздела.

Примеры использования:

REG LOAD HKLM\Software\NewKey MSBackup.hiv

Загружает данные из файла MSBackup.hiv в подраздел реестра HKLM\Software\NewKey.

REG UNLOAD

Директива REG UNLOAD выгружает из памяти локального компьютера хранящиеся там данные реестра, отображающиеся в иерархической структуре реестра в виде разделов и подразделов ветвей HKLM и HKU. Формат записи:

REG UNLOAD <раздел>

В составе директивы могут использоваться следующие параметры:

<раздел> - описание локального раздела реестра, содержимое которого требуется выгрузить из памяти. Разрешается использовать только обозначение ветвей HKLM и HKU, а также их дочерних ключей и подразделов. Использование этой команды для удаленных компьютеров не допускается.

Примеры использования:

REG UNLOAD HKLM\Software

Выгружает из памяти компьютера содержимое ветви реестра HKLM\Software.

REG COMPARE

Эта команда позволяет выполнить операцию сравнения двух разделов реестра. Стандартный формат записи этой команды выглядит следующим образом:

REG COMPARE <раздел1> <раздел2> [/v <параметр> | /ve] [<вывод>] [/s]

В составе директивы могут использоваться следующие параметры:

  • <раздел1> - полное описание первого проверяемого раздела, в формате [\\<компьютер>\]<путь>, где <компьютер> - имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. Путь - полный путь к целевому разделу реестра в виде корень\ключ\подраздел, где корень - сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключ\подраздел - полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.
  • <раздел2> - полное описание второго раздела, с которым сверяются данные. Формат записи такой же, как и в предыдущем случае.
  • /v <параметр> - сравнивать только параметры с указанным именем.
  • /ve - выполнить сравнение безымянных параметров, хранящихся в указанных разделах.
  • /s - сравнивать значения всех подразделов и параметров в обоих разделах реестра.
  • <вывод> - установить формат вывода сравниваемых данных (если формат вывода не указан, по умолчанию его значение принимается, как /od). В качестве этого параметра может быть использован один из четырех возможных ключей:
  • Ÿ /oa - отображать и совпадения, и отличия;
  • Ÿ /od - отображать только отличия;
  • Ÿ /os - отображать только совпадения;
  • Ÿ /on - не отображать результаты сравнения.

В отличие от других процедур команды REG, директива REG COMPARE имеет не два, а три различных кода возврата: 0 - процедура выполнена успешно, сравниваемые данные идентичны; 1 - в процессе выполнения процедур произошла ошибка; 2 - процедура выполнена успешно, сравниваемые данные различаются.

Примеры использования:

REG COMPARE HKLM\Software\ProgApp HKLM\Software\Prog

Сравнивает содержимое подразделов реестра HKLM\Software\ProgApp и HKLM\Software\Prog.

REG COMPARE HKLM\Software\ProgApp HKLM\Software\Prog /v Value1

Сравнивает значение параметров с именем Value1, один из которых хранится в разделе HKLM\Software\ProgApp, а другой - в разделе HKLM\Software\Prog локального реестра.

REG COMPARE \\SERVER\HKLM\Software\Microsoft \\. /s

Сравнивает содержимое подраздела реестра HKLM\Software\Microsoft, хранящегося на удаленном компьютере SERVER, с аналогичным разделом реестра локального компьютера.

REG EXPORT

Команда REG EXPORT позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .reg, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:

REG EXPORT <раздел> <имя файла>

В составе директивы могут использоваться следующие параметры:

  • <раздел> - описание локального раздела реестра, содержимое которого вы планируете экспортировать в файл, должно включать обозначение ветви (HKLM, HKCU, HKCR, HKU или HKCC) и всех подразделов. Использование этой команды для удаленных компьютеров не допускается.
  • <имя файла> - имя файла, в который экспортируется содержимое раздела, включая путь к этому файлу. Если путь не указан, файл автоматически создается в текущей папке вызвавшего команду процесса.

Примеры использования:

REG EXPORT HKLM\Software\Adobe Adobe.reg

Экспортирует подраздел реестра HKLM\Software\Adobe вместе со всем его содержимым в файл Adobe.reg, создаваемый в текущей папке.

REG IMPORT

Директива REG IMPORT импортирует содержимое REG-файла в реестр Windows. Данный файл может храниться только на локальном компьютере. Формат записи:

REG IMPORT <имя файла>

Где <имя файла> - имя и путь к локальному REG-файлу на данном компьютере.

Пример использования:

REG IMPORT C:\system.reg

Импортирует в реестр содержимое файла system.reg, хранящегося на диске C:.

 

К разделу