. REG FLAGS — просмотр, установка и сброс флагов реестра.
Формат командной строки:
Параметры командной строки:
имя_раздела — «HKLMSoftware»[подраздел] (ограничено этими разделами только на локальном компьютере). подраздел — полное имя раздела реестра в узле HKLMSoftware.
DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG — Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные — удалены.
/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.
Пример:
REG FLAGS HKLMSoftware query — Отображает текущие флаги раздела HKLMSoftware.
Пример отображаемой информации о флагах:
HKEY_LOCAL_MACHINESoftwareREG_KEY_DONT_VIRTUALIZE: CLEARREG_KEY_DONT_SILENT_FAIL: CLEARREG_KEY_RECURSE_FLAG: CLEAR
Операция успешно завершена.
. Команда REG COPY — копирование ключей реестра операционной системы WindowsФормат командной строки:
Параметры командной строки:
REG COPY <раздел> Имя раздела в формате: [Компьютер]Путь
Пример:REG COPY ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1 Копирует все параметры раздела MyCo с компьютера ZODIAC в раздел MyCo1 на локальном компьютере
REG EXPORT — экспорт данных реестра в файл.
Формат команды:
Параметры командной строки:
имя_раздела — в виде КОРЕНЬ< подраздел > (только локальный компьютер). КОРЕНЬ может быть [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_файла — путь и имя файла в который экспортируются данные реестра.
/y — Выполнение замены существующего файла без запроса подтверждения.
/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.
Пример:
REG EXPORT HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun C:savedautoruns.reg — экспорт параметров автоматического запуска приложений для всех пользователей системы.
REG IMPORT — импорт данных реестра из файла.
Формат команды:
Параметры командной строки:
имя_файла — путь и имя файла с данными для импорта. Импорт возможен только для локального компьютера.
Пример:
REG IMPORT AppBkUp.reg — Импорт записей реестра из файла AppBkUp.reg
REG SAVE — сохранение данных реестра в файл.
Формат команды:
Параметры командной строки:
имя_раздела — в виде КОРЕНЬ<подраздел>. КОРЕНЬ может принимать значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел — Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_файла — Путь и имя файла сохраняемых данных. Если путь не указан, то файл создается в текущей папке вызывающего процесса.
/y — Выполнение замены существующего файла без запроса подтверждения.
/reg:32 — Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
/reg:64 — Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.
Пример:
REG SAVE HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun C:savedautoruns.hiv — сохранение параметров автоматического запуска приложений для всех пользователей системы в файл autoruns.hiv в каталоге saved диска C:.
REG RESTORE — восстановление данных реестра их файла.
Для восстановления данных реестра используется содержимое файла, созданного при выполнении команды REG SAVE
Формат команды:
Параметры командной строки:
имя_раздела — в виде КОРЕНЬ<подраздел>. КОРЕНЬ может принимать значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел — Полное имя подраздела реестра в одном из выбранных корневых разделов.
имя_файла — Путь и имя файла, созданного при выполнении команды REG SAVE. Если путь не указан, то поиск файла выполняется в текущей папке вызывающего процесса.
Пример:
REG RESTORE HKLMSoftwareMicrosoftResKit NTRKBkUp.hiv — восстановить содержимое реестра из файла NTRKBkUp.hiv текущего каталога.
Команды REG IMPORT/EXPORT и REG RESTORE/SAVE близки по назначению, однако используют разные форматы данных.
REG LOAD — загрузка данных реестра из файла куста.
Для загрузки используется файл куста реестра, полученный с помощью команды REG SAVE, или другой файл куста реестра, например, скопированный с другого компьютера.
Формат командной строки:
Параметры командной строки:
имя_раздела в виде КОРЕНЬподраздел (только локальный компьютер). КОРЕНЬ может принимать только [ HKLM | HKU]. подраздел — Имя подраздела реестра, в который загружается файл куста.
имя_файла — путь и имя файла куста, подлежащего загрузке.
Пример:
REG LOAD HKLMTempHive TempHive.hiv — Загрузка файла TempHive.hiv в раздел HKLMTempHive
Обычно, команда REG LOAD используется совместно с REG UNLOAD для изменения данных реестра, содержащихся в файле куста.
REG UNLOAD — выгрузка данных из реестра.
Формат командной строки:
Параметры командной строки:
Пример:
REG UNLOAD HKLMTempHive — Выгружает куст TempHive из HKLM.
Inf-файл
Импортировать параметры в реестр можно и при помощи INF-файлов. Их общий синтаксис несколько сложнее, чем у REG-файлов, но непосредственно запись в реестр осуществляется достаточно просто. Ниже приводится пример из аддона Msgina
[Version] Signature="$Windows NT$" [Optional Components] Msgina [Msgina] OptionDesc="Msgina" Tip="Библиотека GINA входа в систему" Modes=0,1,2,3 AddReg=Msgina.AddReg [Msgina.AddReg] HKLM,"SoftwarePoliciesMicrosoftWindowsSystemShutdown","ShowHibernateButton",0x10001,1 HKLM,"SoftwarePoliciesMicrosoftWindowsSystemShutdown","HibernateAsButton",0x10001,1
Примечание
. Дополнительную информацию об INF-файлах можно найти в
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. По умолчанию разделитель имеет вид «».
/d <данные> – значение, присваиваемое добавляемому параметру реестра.
/f – перезаписывать уже существующие в реестре параметры и значения, замещая их указанными в командной строке, без демонстрации предупреждений.
Примеры использования:
REG ADD \NetCompHKLMSoftwareNewSubkey
Добавляет подраздел NewSubkey в раздел реестра HKLMSoftware на удаленном компьютере NetComp.
REG ADD HKLMSoftwareNewSubkey /v Value1 /t REG_SZ /d ac23456ffed
Добавляет в подраздел локального реестра HKLMSoftwareNewSubkey параметр с именем Value1 типа REG_SZ, и присваивает ему значение ac23456ffed.
REG ADD HKLMSoftwareNewSubkey /v Path /t REG_EXPAND_SZ /d %%systemroot%%System32
Добавляет в подраздел локального реестра HKLMSoftwareNewSubkey параметр с именем Path типа REG_EXPAND_SZ, и присваивает ему значение %systemroot%System32
ПРИМЕЧАНИЕ
В случае записи в командной строке для директивы REG стандартных переменных окружения Windows, необходимо использовать для их выделения дополнительный символ «%» (%%переменная%%)
Запуск reg-файла
Это самый простой способ. Она заключается в запуске REG-файла, содержащего необходимые параметры, двойным щелчком мыши или из командной строки.Примечание. Дополнительную информацию смотрите в статье
REG-файл
Двойной щелчок мыши
Как это ни тривиально звучит, но двойным щелчком мыши на REG-файле можно внести изменения в реестр. Правда, сначала система уточнит, действительно ли вы хотите это сделать. В случае положительного ответа изменения будут внесены.
Рисунок 1. Система запрашивает подтверждение на внесение изменений.
Командная строка
Для импорта REG-файлов из командной строки существует команда REGEDIT. Набрав в командной строке
REGEDIT C:hklm.reg
Вы получите точно такое же диалоговое окно, как при двойном щелчке мыши. Подавить появление диалогового окна можно запустив команду с параметром /S
REGEDIT /S C:hklm.reg
Изменение параметров реестра компьютера в сети
Выше мы рассмотрели достаточно широкие возможности батников в работе с реестром операционной системы. Последний момент, который отметим в контексте данной темы – это редактирование реестра компьютеров в локальной сети.
Использование bat-файлов для редактирования реестра
Точнее сказать, мы, разумеется, не будем раз за разом вручную прописывать нужные параметры в окне консоли, не для этого данный способ нужен, мы рассмотрим вариант внесения изменений в системный реестр Windows при помощи bat-файлов.
Достаточно подробно о создании и использовании батников речь шла в записи Пакетные файлы (bat, батники) Windows, ещё одна функция, которую можно и нужно использовать – изменение записей реестра при помощи cmd языка.
- батники шире используются в администрировании;
- батники имеют режим тихого запуска (без всплывающих окон);
- батники можно запускать с повышенными правами, то есть от имени Администратора;
- с помощью бат-файлов возможна работа с реестром сетевых машин.
Работа с реестром из командной строки
Синтаксис бат-файлов и процесс их создания описан в статье, приведённой выше, в данной же публикации затронем исключительно тему, касающуюся выполнения функции изменения реестра из командной строки.Сразу отметим, что в bat-файлах не требуется заголовок в начале файла по типу того, что используется в reg-файлах: Windows Registry Editor Version 5.00 – здесь можно начинать писать команду с первой же строки.
Для начала приведём основные параметры, используемые при работе с реестром из командной строки:
- /v – имя добавляемого/изменяемого ключа;
- /ve – добавление пустого параметра;
- /t – параметр для указания типа добавляемых/изменяемых данных;
- /d – значение, присваиваемое параметру;
- /s – применение команды ко всем вложенным ключам;
- /f – отключение системных предупреждений при выполнении операции.
Но, конечно, основа любого батника Windows – сама команда. Итак, приведём список команд, используемых для редактирования реестра.
reg add – команда для добавления данных, будь то параметры, ключи или целые ветки.Допустим, после вирусной атаки нам необходимо вернуть место хранения hosts файла (а также файлов lmhosts, networks и protocols) в директорию %SystemRoot%System32driversetc Для этого нужно выполнить команду:
reg add HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v DataBasePath /t REG_EXPAND_SZ /d %%SystemRoot%%System32driversetc /f
Если немного применить фантазию и оформить батник, то код будет выглядеть примерно следующим образом:



