На нашем ресурсе уже есть публикация, описывающая основной способ работы с системным реестром Windows: Изменение параметров cистемного реестра Windows. Также мы рассматривали способ автоматизации процесса при помощи специальных файлов: Создание reg-файлов. Синтаксис редактирования записей реестра – позволяющий значительно упростить монотонную работу и воспроизведение часто используемых настроек. В рамках данной статьи мы затронем логическое продолжение темы, а именно, поговорим о том, как редактировать реестр из командной строки.
Точнее сказать, мы, разумеется, не будем раз за разом вручную прописывать нужные параметры в окне консоли, не для этого данный способ нужен, мы рассмотрим вариант внесения изменений в системный реестр Windows при помощи bat-файлов.
Достаточно подробно о создании и использовании батников речь шла в записи Пакетные файлы (bat, батники) Windows, ещё одна функция, которую можно и нужно использовать – изменение записей реестра при помощи cmd языка.
Использование батников для редактирования реестра иногда может быть выгоднее и удобнее, нежели работа со стандартными для этих целей reg-файлами.
- батники шире используются в администрировании;
- батники имеют режим тихого запуска (без всплывающих окон);
- батники можно запускать с повышенными правами, то есть от имени Администратора;
- с помощью бат-файлов возможна работа с реестром сетевых машин.
Работа с реестром из командной строки
Синтаксис бат-файлов и процесс их создания описан в статье, приведённой выше, в данной же публикации затронем исключительно тему, касающуюся выполнения функции изменения реестра из командной строки.
Сразу отметим, что в bat-файлах не требуется заголовок в начале файла по типу того, что используется в reg-файлах: Windows Registry Editor Version 5.00 – здесь можно начинать писать команду с первой же строки.
Для начала приведём основные параметры, используемые при работе с реестром из командной строки:
- – имя добавляемого/изменяемого ключа;
- – добавление пустого параметра;
- – параметр для указания типа добавляемых/изменяемых данных;
- – значение, присваиваемое параметру;
- – применение команды ко всем вложенным ключам;
- – отключение системных предупреждений при выполнении операции.
Но, конечно, основа любого батника Windows – сама команда. Итак, приведём список команд, используемых для редактирования реестра.
– команда для добавления данных, будь то параметры, ключи или целые ветки.
Допустим, после вирусной атаки нам необходимо вернуть место хранения hosts файла (а также файлов lmhosts, networks и protocols) в директорию %SystemRoot%System32driversetc Для этого нужно выполнить команду:
reg add HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v DataBasePath /t REG_EXPAND_SZ /d %%SystemRoot%%System32driversetc /f
Если немного применить фантазию и оформить батник, то код будет выглядеть примерно следующим образом:
Вот такой файл, как в архиве, у нас получится: drivers_etc
Остальные примеры в данной статье будем приводить вымышленные, дабы при их тестировании не вносить нежелательных изменений в реестр
– команда для удаления указанной информации из реестра компьютера.
Чтобы удалить определённый параметр, нам достаточно указать его полный путь после команды удаления. Пример:
Данная команда удалит параметр Save из указанной ветки.
– команда для копирования параметров и ключей из одной ветки реестра в другую.
Для копирования параметров достаточно после команды последовательно прописать сначала исходную ветку, а потом изменяемую. Например:
– команда для экспорта указанных веток реестра в виде *.reg файла на жёсткий диск.
Пример использования:
reg export HKLMSoftwareGamesFootball MyBackup.reg
В результате выполнения данной команды будет создан рег-файл с бэкапом раздела Football.
– команда, позволяющая импортировать данные из reg-файла в реестр системы.
Пример использования:
reg import MyBackup.reg
В результате выполнения данной команды записи из рег-файла будут импортированы в реестр.
– данная команда возвращает значение запрашиваемых параметров и кустов реестра.
Пример использования:
reg query HKLMSoftwareGamesFootball /v Run
В ответ будет возвращено значение параметра Run в реестре.
– команда позволяет сравнить две указанные последовательно ветки реестра.
Пример использования:
В ответ команда возвращает одно из значений: 0 – данные веток идентичны; 1 – при выполнении операции произошла ошибка; 2 – данные веток отличаются.
, , , – команды, позволяющие бэкапить и восстанавливать нужные ветки системного реестра Windows при помощи файлов *.hiv.
Изменение параметров реестра компьютера в сети
Выше мы рассмотрели достаточно широкие возможности батников в работе с реестром операционной системы. Последний момент, который отметим в контексте данной темы – это редактирование реестра компьютеров в локальной сети.
Ну и главное: чтобы работать с реестром компьютера в сети, необходимо в применяемой команде перед разделом указать имя удалённой машины, начинающееся с двойного обратного слеша.
При этом, в командах, обрабатывающих сразу несколько разделов (например, копирование из одного раздела в другой, сравнение веток), одна из веток может располагаться на локальном компьютере, а другая на компьютере в сети.
То есть, для копирования ветки с удалённой машины на наш компьютер необходимо выполнить следующую команду:
На этом заключительную статью описания общих принципов работы с реестром компьютера и с bat-файлами можно считать завершённой.
Безошибочных вам команд и корректных ключей реестра.
Редактирование системного реестра Windows – полезное умение в руках каждого пользователя. В статье Изменение параметров cистемного реестра Windows мы познакомились с самим реестром, его структурой и рассмотрели примеры с изменениями параметров его ключей. Сегодня мы поговорим о том, как автоматизировать процесс правки реестра и сделать его удобнее и быстрее.
Ручное изменение ключей реестра приемлемо в том случае, когда вам необходимо разово произвести ту или иную настройку. Но если нам нужно повторять одну настройку с определённой периодичностью или задать нужные параметры на нескольких компьютерах, то возникает необходимость в упрощении процесса правки данной базы настроек системы.
Для автоматизации процесса редактирования реестра служат специальные файлы со своим и расширением *.reg. В вышеупомянутой записи о знакомстве с реестром Windows мы уже сталкивались с подобными файлами при создании резервной копии веток реестра и восстановлении их из бэкапа. Но такие рег-файлы можно писать и самому, если придерживаться определённых правил.
Синтаксис reg-файлов
Для примера мы поменяем клавиши смены языка ввода с Alt + Shift на Ctrl + Shift.
На интересует ветка реестра
И ключи , и , которые имеют значения по умолчанию , и , соответственно.
Для изменения сочетания клавиш нам нужно будет присвоить им новые значения “”=””, “”=””, “”=””
Итак, для создания открываем текстовый редактор, например, Блокнот Windows. Вставляем в окно редактора следующий код:
После этого жмём в меню текстового редактора на кнопку , выбираем пункт , в строке выбираем , а в строке задаём название, в конце которого ставим точку и дописываем расширение .reg.
Смена языка по Alt + Shift: language_alt_shift
Смена языка по Ctrl + Shift: language_ctrl_shift
Добавление ключей в реестр через reg-файл
Пример выше изменяет параметры . Но бывают ситуации, когда нам нужно добавить ключ, которого нет в реестре на данный момент. Напомним, что в статье о реестре Windows, упомянутой в начале данной записи, мы выделяли один момент:
В первую очередь отметим, что некоторые ключи имеют дефолтные значения. Это значит, что даже если конкретный ключ отсутствует в своей ветке, система будет вести себя, будто ему присвоен параметр по умолчанию.
Например, код reg-файла, позволяющего отключить автоматическую перезагрузку компьютера в случае появления синего экрана BSOD, будет выглядеть следующим образом:
где – это тип данных добавляемого ключа реестра.
Изменение нескольких веток реестра в одном reg-файле
Если же нам необходимо изменить одним файлом ключи, расположенные в различных кустах реестра Windows, то совсем не обязательно на каждую ветку создавать отдельный файл. Для этого нам достаточно после описания параметров первой ветки добавить настройку следующей ветки с новой строки.
Для примера, приведём код, позволяющий отключить автозапуск со съёмных носителей и подключаемых устройств:
Записи настроек текущего пользователя здесь добавлены для верности, при необходимости можно вставить в создаваемый reg-файл только нужные строки.
Удаление веток реестра reg-файлом
Выше мы рассмотрели синтаксис registry-файлов для и . Но как писать файл, если нам надо удалить хвосты в реестре, допустим, после деинсталляции программы.
Пример конкретных программ рассматривать не будем, а решим задачу по удалению из окна Проводника на вкладке Мой компьютер лишних папок: Видео, Документы, Загрузки, Изображения, Музыка, Рабочий стол
Пишем reg-файл, в котором перед каждой веткой для удаления ставим минус:
И по традиции готовый файл редактирования реестра: folders_remove
Бонус. Восстановление ассоциаций ярлыков и файлов
После вирусной атаки на компьютер иногда случается так, что при попытке запуска определённого типа файлов стартует не предназначенная для этого программа.
Если с нарушением ассоциаций медиафайлов и документов легко справиться при помощи контекстного меню Открыть с помощью, то исправление нарушения запуска ярлыков и программ требует вмешательства в настройки системы.
Восстановление ассоциаций exe-файлов (исполнительных файлов, программ): exe-associations-fix
Восстановление ассоциаций lnk-файлов (ярлыков): lnk-associations-fix
Восстановление ассоциаций всех файлов (включая lnk и exe): all-associations-fix
Сегодня мы поговорили о том, что редактировать реестр Windows можно не только вручную, но и посредством reg-файлов. Добавление, редактирование, копирование и удаление данных реестра возможно и с помощью bat-файлов, о синтаксисе которых мы говорили в теме Пакетные файлы (bat, батники) Windows, но этот вопрос выходит за рамки обсуждения данной статьи и рассмотрен отдельно в публикации Редактирование реестра Windows из командной строки, bat-файлы
При настройке системы Windows могут возникать такие ситуации, когда тот или иной параметр невозможно изменить через пользовательский интерфейс.
Зачастую, выход кроется в редактировании системного реестра Windows, с помощью которого можно воздействовать на огромное количество настроек операционной системы.
Ниже мы рассмотрим, что такое реестр и как вносить в него изменения. Для удобства разобьём статью на небольшие разделы
Определений термина реестр Windows можно дать множество, приведём относительно простое и доступное для понимания:
Системный реестр Windows – это база данных настроек и параметров операционной системы, имеющая древовидную структуру
То есть, огромное количество пользовательских и системных настроек ОС отражаются в этой виртуальной среде.
Виртуальным реестр можно считать потому, что он лишь упорядочивает и структурирует данные, которые физически хранятся в системных файлах на информационном носителе компьютера или формируются непосредственно в момент запуска Windows
Рассмотрим два основных способа запуска стандартной утилиты редактора реестра:
Запуск редактора реестра при помощи команды Выполнить
Запуск редактора реестра из проводника
Перед нами откроется окно редактора реестра.
Структура реестра Windows
Отображение информации в реестре имеет определённую структуру.
В правой части окна мы видим и , каждая из которых ещё называется , в левой же расположены и их .
В каждом разделе реестра отображается заданная ему информация. В современных версиях ОС от компании Microsoft заложены пять разделов:
- HKEY_CLASSES_ROOT (HKCR) – содержит параметры определения типов файлов и объектов
- HKEY_LOCAL_MACHINE (HKLM) – общие настройки компьютера, относящиеся ко всем пользователям
- HKEY_CURRENT_CONFIG (HKCC) – отображает параметры оборудования и подключенных устройств компьютера
В ранних версиях ОС Windows присутствовал ещё один раздел:
Типы данных реестра
в Windows могут быть различных типов, не станем углубляться в особенности каждого из них, рядовому пользователю это знать не обязательно, просто приведём их ниже:
– Строковый параметр
– Двоичный параметр
– Параметр DWORD (32 бита)
– Параметр QWORD (64 бита)
– Мультистроковый параметр
– Расширяемый строковый параметр
Изменить тип данных созданного ключа стандартными средствами нельзя, если ошиблись при создании, надо удалить некорректную запись и внести новый ключ.
Резервное копирование реестра
! Перед редактированием реестра всегда желательно создавать резервную копию изменяемой ветки или раздела
Ввод некорректных параметров в системный реестр Windows может привести к нестабильной работе и краху системы
Создание бэкапа реестра
Для создания бэкапа раздела реестра мы воспользуемся функцией экспорта в стандартной утилите regedit.
- Правой кнопкой мыши жмём на нужный раздел и выбираем пункт
- В появившемся окне выбираем каталог для сохранения файла бэкапа, вносим имя файла и нажимаем кнопку .
Восстановление реестра из бэкапа
Если по каким-то причинам возникнет необходимость восстановления данных реестра из резервной копии, то нам нужно будет только запустить файл бэкапа с расширением *.reg и согласиться на внесение изменений в реестр.
Удаление записей из системного реестра Windows
Отсюда можно сделать вывод, что процесс редактирования реестра делится на несколько типов:
- параметров существующих ключей;
- ключей в реестр с присвоением им нужного значения;
- из реестра лишних ключей или даже кустов.
Сразу пройдёмся по последнему пункту, касаемо удаления записей из реестра.
Чаще всего это бывает нужно после удаления софта для чистки хвостов. Дело в том, что некоторые программы, работающие в Windows среде, при установке и в процессе работы активно взаимодействуют с реестром системы, добавляя туда записи с технической информацией. Но при деинсталляции затираются в реестре далеко не все строки. Частично эту проблему решают программы uninstaller-ы от сторонних разработчиков, но встречаются и случаи, требующие ручного вмешательства.
После всего вышесказанного у кого-то может возникнуть резонный вопрос: зачем вообще чистить реестр от ненужных записей?
Ответ прост: во-первых, иногда оставшиеся записи в реестре после удаления программы мешают повторной установке того же софта; во-вторых, записи реестра хранятся в файлах большого объёма, увеличение которого негативно сказывается на фрагментации жесткого диска и отзывчивости системы.
Ещё одной причиной для чистки реестра может послужить обнаружение в нём записей о вредоносных программах. Такими зловредами могут быть и баннерные вирусы, и трояны, и рекламные ссылки, терроризирующие пользователя постоянным запуском заданных web-страниц в браузере. О способах избавления от последних, кстати говоря, мы писали в соответствующей статье: Стартовая страница браузера. Решение проблем
Добавление и изменение параметров ключей в реестре Windows
Мы уже рассматривали пример настроек параметров Windows через добавление записей реестра в статьях Открытие проводника Windows 10 на закладке Этот компьютер и Автозагрузка. Добавление приложений в автозагрузку Windows.
Запускаем редактор реестра Windows.
Далее, в левой части окна переходим к ветке
Теперь в правой части окна находим ключ EnableLUA и кликаем по нему двойным щелчком мышки.
В поле меня 1 на 0 и нажимаем кнопку OK
Теперь при запуске программ, требующих дополнительные разрешения, окно контроля учётных записей UAC появляться не будет.
В целях безопасности проводить отключение UAC , так как компьютер становится более уязвимым к несанкционированному запуску вредоносных программ
На этом закончим знакомство с системным реестром Windows.
В статье Создание reg-файлов. Синтаксис записей реестра мы подробнее рассмотрим тему о том, как создавать reg-файлы для автоматизации работы с реестром, чтобы не править нужные параметры вручную. О том же, как работать с реестром из командной строки, мы поговорим в рамках отдельной публикации Редактирование реестра Windows из командной строки, bat-файлы
Нужно добавить запись в реестр с помощью BAT файла? Хотите по расписанию править ветки реестра? Нужно исправить значение реестра из командной строки? Нужно поправить реестр компьютера по сети? Легко!
В первую очередь следует знать, что работа с реестром требует прав администратора, так что командную строку запускаем от имени администратора, а BAT файл выполняем с наивысшими привилегиями.
Параметры команд
- REG QUERY
- REG ADD
- REG DELETE
- REG COPY
- REG SAVE
- REG RESTORE
- REG LOAD
- REG UNLOAD
- REG COMPARE
- REG EXPORT
- REG IMPORT
- REG FLAGS
reg add /?
reg add — добавление и изменение данных в реестре.
REG ADD \ABCHKLMSoftwareMyCo
Добавляет раздел HKLMSoftwareMyCo на удаленном компьютере ABC
REG ADD HKLMSoftwareMyCo /v Data /t REG_BINARY /d fe340ead
Добавляет параметр (имя: Data, тип: REG_BINARY, данные: fe340ead)
REG ADD HKLMSoftwareMyCo /v MRU /t REG_MULTI_SZ /d faxmail
Добавляет параметр (имя: MRU, тип: REG_MULTI_SZ, данные: faxmail)
REG ADD HKLMSoftwareMyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
Добавляет параметр (имя: Path, тип: REG_EXPAND_SZ, данные: %systemroot%)
Примечание. В расширяемой строке используйте знак вставки ( ^ )
Пример BAT файла, который разрешает запуск неподписанных PowerShell скриптов:
reg delete — удаление данных в реестре.
REG DELETE HKLMSoftwareMyCoMyAppTimeout
Удаляет раздел реестра Timeout и все его подразделы и параметры.
REG DELETE \ZODIACHKLMSoftwareMyCo /v MTU
Удаляет параметр реестра MTU из раздела MyCo на компьютере ZODIAC
reg query — считать данные из реестра.
REG QUERY HKLMSoftwareMicrosoftResKit /v Version
Отображение значения параметра реестра Version
REG QUERY \ABCHKLMSoftwareMicrosoftResKitNtSetup /s
Отображение всех подразделов и их параметров в разделе реестра Setup
удаленного компьютера ABC
REG QUERY HKLMSoftwareMicrosoftResKitNtSetup /se #
Отображение всех подразделов и параметров со знаком “#” в качестве
разделителя для всех параметров типа REG_MULTI_SZ.
REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e
Отображение раздела, параметра и данных с учетом реестра букв для точных
совпадений с “SYSTEM” типа REG_SZ из корневого раздела HKLM
REG QUERY HKCU /f 0F /d /t REG_BINARY
Отображение раздела, параметра и данных для совпадений с “0F”
типа REG_BINARY среди данных в корневом разделе HKCU
REG QUERY HKLMSOFTWARE /ve
Отображение параметра и данных для пустого значения (по умолчанию)
в разделе HKLMSOFTWARE
reg copy — копировать данные из одной ветки реестра в другую.
REG COPY HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp /s
Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp
REG COPY \ZODIACHKLMSoftwareMyCo HKLMSoftwareMyCo1
Копирует все параметры раздела MyCo с компьютера ZODIAC
в раздел MyCo1 на локальном компьютере
reg compare — сравнить две ветки реестра.
REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp
Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp
REG COMPARE HKLMSoftwareMyCo HKLMSoftwareMyCo1 /v Version
Сравнивает значения Version в разделах MyCo и MyCo1
REG COMPARE \ZODIACHKLMSoftwareMyCo \. /s
Сравнивает все подразделы и значения параметров в разделе
HKLMSoftwareMyCo реестра на компьютере ZODIAC с аналогичным разделом
на текущем компьютере
reg export — экспорт данных реестра в REG файл.
REG EXPORT HKLMSoftwareMyCoMyApp AppBkUp.reg
Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg
reg import — импорт данных в реестр из REG файла.
REG IMPORT AppBkUp.reg
Импорт записей реестра из файла AppBkUp.reg
reg flags— работа с флагами реестра.
REG FLAGS HKLMSoftwareMyCoMyApp QUERY
Отображает текущие флаги раздела MyApp.
REG FLAGS HKLMSoftwareMyCoMyApp SET DONT_VIRTUALIZE /s
Устанавливает флаг DONT_VIRTUALIZE
(и удаляет флаги DONT_SILENT_FAIL и RECURSE_FLAG) для раздела MyApp
и всех его подразделов
reg save, reg restore, reg load, reg unload — бэкап и восстановление реестра с помощью файлов HIV.
REG SAVE HKLMSoftwareMyCoMyApp AppBkUp.hiv
Сохранение куста MyApp в файл AppBkUp.hiv текущей папки
REG RESTORE HKLMSoftwareMicrosoftResKit NTRKBkUp.hiv
Восстановление файла NTRKBkUp.hiv заменой раздела ResKit
REG LOAD HKLMTempHive TempHive.hiv
Загрузка файла TempHive.hiv в раздел HKLMTempHive
REG UNLOAD HKLMTempHive
Выгрузка куста реестра TempHive в HKLM
REG. EXE – Программа редактирования системного реестра из командной строки Windows
Требуются права администратора: нет (asInvoker)
Виртуализация UAC: отключена
Утилита REG служит для редактирования реестра, работающая из командной строки cmd.exe, поддерживает все возможности, которые имеет программа regedit.exe. А кроме того, она также поддерживает несколько уникальных функций. Полезна в том случае когда работа с regedit по каким либо причинам не возможна.
Для работы с программой или отдельными ее возможностями требуются следующие привилегии:
- SeRestorePrivilege
- SeBackupPrivilege
Основной синтаксис программы следующий:
reg.exe команда \компьютерветвь реестра параметры.
Если же вы изменяете реестр локального компьютера, то название компьютера указывать необязательно.
Ветвь реестра. Перед тем как начать описание возможностей данной программы, следует обратить внимание на то, как именно указывается в команде ветвь реестра.
При указании ветви реестра вместо названия корневого раздела нужно указывать его обозначение, принятое в программе:
- вместо HKEY_CLASSES_ROOT указывается HKCR;
- вместо HKEY_LOCAL_MACHINE указывается HKLM;
- вместо HKEY_CURRENT_CONFIG указывается HKCC.
Параметры. Список возможных параметров программы зависит от конкретной команды. Тем не менее, многие параметры используются одинаково в большинстве команд, где есть смысл их применять.
- /v параметр — если вам нужно выполнить добавление, удаление или другую операцию с конкретным параметром реестра, то нужно воспользоваться данным параметром.
- /ve — при необходимости добавления, удаления или другой операции с параметром (По умолчанию) ветви реестра нужно указать параметр /ve.
- /d значение — если вам нужно добавить значение параметра, указать это значение можно при помощи данного параметра.
- /f — этот параметр можно использовать со всеми командами. Если он установлена, то весь вывод программы на экран будет подавляться.
Чтобы добавить или изменить параметр реестра, нужно воспользоваться командой вида:
reg.exe add ветвь_реестра /v параметр /t тип /d значение
Для добавления или изменения параметра (По умолчанию) нужно воспользоваться командой вида:
reg.exe add ветвь_реестра /ve /d значение
Чтобы добавить ветвь реестра, достаточно воспользоваться командой вида reg.exe add ветвь_реестра.
Удаление параметров реестра с помощью утилиты REG
Чтобы удалить параметр реестра, нужно воспользоваться командой
reg delete ветвь_реестра /v параметр
Для удаления параметра (По умолчанию) нужно воспользоваться командой
reg delete ветвь_реестра /ve
Чтобы удалить все параметры ветви реестра, нужно воспользоваться командой
reg delete ветвь_реестра /va
Для удаления ветви реестра достаточно воспользоваться командой
Просмотр значения параметра реестра с помощью утилиты REG
Также с помощью данной программы можно просмотреть содержимое параметра или ветви реестра. Для этого достаточно воспользоваться командой reg query ветвь_реестра, если нужно просмотреть значения всех параметров реестра, либо добавить к данной команде параметры /v параметр или /ve для просмотра значения определенного параметра.
При указании данной команды для просмотра содержимого ветви реестра можно воспользоваться параметром /s. Если он присутствует в команде, то перед вами отобразятся значения всех параметров соответствующей ветви реестра и ее дочерних подразделов.
Поиск в реестре с помощью утилиты REG
Несмотря на то, что эта возможность выделена в качестве отдельного раздела книги, для ее реализации используется уже знакомая нам команда — reg query ветвь_реестра. Чтобы выполнить поиск с ее помощью, нужно воспользоваться следующими параметрами.
- /f шаблон_поиска — определяет строку, которую нужно найти. По умолчанию используется шаблон *.
- /d — присутствие данного параметра говорит о том, что поиск нужно вести только в значениях параметров.
- /k — наличие этого параметра говорит о том, что поиск нужно вести только в названиях разделов реестра.
- /c — присутствие данного параметра говорит о том, что поиск нужно вести с соблюдением регистра.
Сравнивание значений параметров реестра с помощью утилиты REG
Данная возможность является уникальной для программы reg.exe (в программе regedit.exe такой возможности нет).
Чтобы сравнить значения двух параметров, нужно воспользоваться командой
reg compare ветвь_реестра_1 ветвь_реестра_2 /v параметр
Для сравнения значений двух параметров (По умолчанию) нужно воспользоваться командой
reg compare ветвь_реестра_1 ветвь_реестра_2 /ve
Чтобы сравнить значения всех параметров в ветви реестра, нужно воспользоваться командой
Для сравнения значений всех параметров в ветви реестра и дочерних подразделах данной ветви нужно воспользоваться командой
reg compare ветвь_реестра_1 ветвь_реестра_2 /s
По умолчанию после работы программы отображаются сведения о различиях в сравниваемых ветвях реестра. Это поведение можно изменить, указав один из следующих дополнительных параметров:
- /oa — выводить как различия, так и совпадения;
- /od — выводить только различия;
- /os — только совпадения;
- /on — выводить только слово Different (если сравниваемые ветви различны) или Identical (если сравниваемые ветви идентичны).
Данная возможность является уникальной для программы reg.exe. С ее помощью вы сможете скопировать содержимое одной ветви реестра в другую.
Чтобы скопировать содержимое ветви реестра и ее дочерних подразделов, достаточно воспользоваться командой
reg copy ветвь_реестра_1 ветвь_реестра_2 /s
Экспорт и импорт реестра с помощью утилиты REG
Еще одной возможностью программы является экспорт ветви реестра в REG-файл и импортирование REG-файла обратно в реестр.
Чтобы выполнить экспорт ветви реестра, достаточно воспользоваться командой
reg export ветвь_реестра путь_к_файлу
Для импорта REG-файла достаточно воспользоваться командой
reg export путь_к_файлу
Работа с файлами кустов реестра с помощью утилиты REG
Кроме того, с помощью программы reg.exe можно выполнять экспорт и импорт реестра в файлы кустов. Для этого достаточно воспользоваться командами:
reg save ветвь_реестра путь_к_файлу и reg restore ветвь_реестра путь_к_файлу
Особенностью пользовательских (впрочем, как и обычных) файлов кустов является то, что их можно загружать в реестр, чтобы было проще выполнять операции над ними.
Чтобы загрузить файл куста, нужно воспользоваться командой
reg load ветвь,_в_которую_будет_загружен_куст путь_к_файлу_куста
Чтобы выгрузить файл куста, нужно воспользоваться командой
reg load ветвь_реестра,_в_которую_загружен_куст
Изменение флагов ветви реестра с помощью утилиты REG
Данная возможность является уникальной для программы reg.exe. С ее помощью можно изменить или просмотреть состояние дополнительных флагов определенной ветви реестра. Заметьте, что флаги поддерживают только дочерние подразделы ветви реестра HKLMSOFTWARE.
Программа reg.exe позволяет просмотреть значения следующих флагов: DONT_VIRTUALIZE, DONT_SILENT_FAIL, RECURSE_FLAG. Например, флаг DONT_VIRTUALIZE позволяет запретить виртуализацию соответствующей ветви реестра (об этом далее).
Чтобы просмотреть состояние всех флагов, достаточно воспользоваться командой
reg flags ветвь_реестра query
Для установления определенных флагов нужно воспользоваться командой
reg flags ветвь_реестра set флаги_через_пробел
При этом если вы не укажете флаг, он будет снят.
Чтобы снять все флаги, нужно воспользоваться командой
Виртуализация каталогов реестра с помощью утилиты REG
Операционная система Windows 7 с включенным механизмом UAC поддерживает новую возможность, называемую виртуализацией каталогов и разделов реестра. Она позволяет решить проблему установки приложений учетными записями пользователей, которые не имеют административных прав (точнее, не имеют прав на модификацию определенных ветвей реестра и каталогов).
Виртуализация реестра. Если механизм виртуализации включен, то при попытке какой-либо программы модифицировать раздел реестра, находящийся в ветви HKLMSOFTWARE, доступ к которой запрещен текущему пользователю, операционная система перенаправляет запрос программы в ветвь реестра HKCUSoftwareClassesVirtualStoreMACHINE и выполняет модификацию в ней.
Например, если программа пытается записать данные в ветвь HKLMSOFTWAREprogram_folder, операционная система перенаправляет ее в ветвь HKCUSoftwareClassesVirtualStoreMACHINESoftwareprogram_folder.
При последующих запусках программы она будет работать с данными, хранящимися не в ветви реестра, доступ к которой пользователю запрещен, а в ветви реестра HKCUSoftwareClassesVirtualStoreMACHINE.
Виртуализация каталогов действует для следующих папок операционной системы: %ProgramFiles%, %Windir%; %Windir%system32.
Отключение механизма виртуализации. Если вы обладаете административными правами, то можете запретить механизм виртуализации каталогов и ветвей реестра, реализованный в операционной системе Windows 7. После этого действия попытка записи программы в запрещенную для записи ветвь реестра или каталог будет вызывать ошибку и прекращение работы программы.
Примеры работы с утилитой REG
Рассмотрим ряд примеров использования данной программы.
- reg.exe add “HKCUSoftwareMicrosoftWindowsCurrentVersionExplorer” /v “link” /t REG_BINARY /d 00000000 — создает параметр REG_BINARY-типа link и присваивает ему значение 0. Команда создает его в ветви HKCUSoftwareMicrosoftWindowsCurrentVersionExplorer. После этого при создании ярлыка на файл или папку к названию ярлыка больше не будет добавляться строка Ярлык для.
- reg delete “HKLMSoftwareMicrosoftCommand Processor” /v autorun /f — удаляет параметр Autorun из ветви реестра, содержащей настройки программы cmd.exe. Если в данной ветви реестра присутствует параметр autorun, то программы, записанные в этом параметре, будут автоматически запускаться при запуске командного процессора cmd.exe. Для примера создайте данный параметр и присвойте ему значение cmd.exe. Вы увидите пример рекурсии в действии.
- reg query “HKLMSYSTEMCurrentControlSetControlFileSystem” — отображает на экране список хранящихся в реестре параметров, настраивающих работу файловой системы NTFS.
- reg compare “\niHKLMSOFTWAREPolicies” “HKLMSOFTWAREPolicies” /s — сравнивает содержимое ветви реестра, содержащей параметры групповых политик (и дочерних подразделов данной ветви реестра), компьютера NI с параметрами ветви локального компьютера.