Редактирование реестра Windows из командной строки, bat-файлы

Сегодня: 25.04.2024, Четверг

Редактирование реестра батниками

На нашем ресурсе уже есть публикация, описывающая основной способ работы с системным реестром WindowsИзменение параметров cистемного реестра Windows. Также мы рассматривали способ автоматизации процесса при помощи специальных файлов: Создание reg-файлов. Синтаксис редактирования записей реестра - позволяющий значительно упростить монотонную работу и воспроизведение часто используемых настроек. В рамках данной статьи мы затронем логическое продолжение темы, а именно, поговорим о том, как редактировать реестр из командной строки.

Использование bat-файлов для редактирования реестра

Точнее сказать, мы, разумеется, не будем раз за разом вручную прописывать нужные параметры в окне консоли, не для этого данный способ нужен, мы рассмотрим вариант внесения изменений в системный реестр Windows при помощи bat-файлов.

Достаточно подробно о создании и использовании батников речь шла в записи Пакетные файлы (bat, батники) Windows, ещё одна функция, которую можно и нужно использовать - изменение записей реестра при помощи cmd языка.
Использование батников для редактирования реестра иногда может быть выгоднее и удобнее, нежели работа со стандартными для этих целей reg-файлами.

  1. батники шире используются в администрировании;
  2. батники имеют режим тихого запуска (без всплывающих окон);
  3. батники можно запускать с повышенными правами, то есть от имени Администратора;
  4. с помощью бат-файлов возможна работа с реестром сетевых машин.

Именно для таких частных случаев будет полезно знать, как написать батник для редактирования системного реестра Windows.

Работа с реестром из командной строки

Синтаксис бат-файлов и процесс их создания описан в статье, приведённой выше, в данной же публикации затронем исключительно тему, касающуюся выполнения функции изменения реестра из командной строки.
Сразу отметим, что в bat-файлах не требуется заголовок в начале файла по типу того, что используется в reg-файлах: Windows Registry Editor Version 5.00 - здесь можно начинать писать команду с первой же строки.

Для начала приведём основные параметры, используемые при работе с реестром из командной строки:

  • /v - имя добавляемого/изменяемого ключа;
  • /ve - добавление пустого параметра;
  • /t - параметр для указания типа добавляемых/изменяемых данных;
  • /d - значение, присваиваемое параметру;
  • /s - применение команды ко всем вложенным ключам;
  • /f - отключение системных предупреждений при выполнении операции.

Но, конечно, основа любого батника Windows - сама команда. Итак, приведём список команд, используемых для редактирования реестра.

reg add - команда для добавления данных, будь то параметры, ключи или целые ветки.
Допустим, после вирусной атаки нам необходимо вернуть место хранения hosts файла (а также файлов lmhosts, networks и protocols) в директорию %SystemRoot%\System32\drivers\etc\ Для этого нужно выполнить команду:

reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v DataBasePath /t REG_EXPAND_SZ /d %%SystemRoot%%\System32\drivers\etc /f

Если немного применить фантазию и оформить батник, то код будет выглядеть примерно следующим образом:

@echo off
::батник для возврата хранения файлов hosts, lmhosts, networks, protocols в %SystemRoot%\System32\drivers\etc
echo *** returns the directory system files by miradmin.ru ***
reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v DataBasePath /t REG_EXPAND_SZ /d %%SystemRoot%%\System32\drivers\etc /f
echo *** directory returned ***
echo *** done ***
pause

Вот такой файл, как в архиве, у нас получится: drivers_etc
Остальные примеры в данной статье будем приводить вымышленные, дабы при их тестировании не вносить нежелательных изменений в реестр

reg delete - команда для удаления указанной информации из реестра компьютера.
Чтобы удалить определённый параметр, нам достаточно указать его полный путь после команды удаления. Пример:

reg delete HKLM\Software\Games\Football\User1 /v Save

Данная команда удалит параметр Save из указанной ветки.

reg copy - команда для копирования параметров и ключей из одной ветки реестра в другую.
Для копирования параметров достаточно после команды последовательно прописать сначала исходную ветку, а потом изменяемую. Например:

reg copy HKLM\Software\Games\Football\User1 HKLM\Software\Games\Football\User2 /s

Данная команда скопирует всю информацию из ветки User1 в ветку User2.

reg export - команда для экспорта указанных веток реестра в виде *.reg файла на жёсткий диск.
Пример использования:

reg export HKLM\Software\Games\Football MyBackup.reg

В результате выполнения данной команды будет создан рег-файл с бэкапом раздела Football.

reg import - команда, позволяющая импортировать данные из reg-файла в реестр системы.
Пример использования:

reg import MyBackup.reg

В результате выполнения данной команды записи из рег-файла будут импортированы в реестр.

reg query - данная команда возвращает значение запрашиваемых параметров и кустов реестра.
Пример использования:

reg query HKLM\Software\Games\Football /v Run

В ответ будет возвращено значение параметра Run в реестре.

reg compare - команда позволяет сравнить две указанные последовательно ветки реестра.
Пример использования:

reg compare HKLM\Software\Games\Football\User1 HKLM\Software\Games\Football\User2

В ответ команда возвращает одно из значений: 0 - данные веток идентичны; 1 - при выполнении операции произошла ошибка; 2 - данные веток отличаются.

reg loadreg unload, reg savereg restore - команды, позволяющие бэкапить и восстанавливать нужные ветки системного реестра Windows при помощи файлов *.hiv.

Изменение параметров реестра компьютера в сети

Выше мы рассмотрели достаточно широкие возможности батников в работе с реестром операционной системы. Последний момент, который отметим в контексте данной темы - это редактирование реестра компьютеров в локальной сети.

Для использования в работе с компьютерами в сети доступны все вышеперечисленные команды, единственное ограничение - операции из командной строки над реестром удалённых машин возможно производить только в разделах HKEY_ LOCAL_MACHINE (HKLM), и HKEY_USERS (HKU)

bat-файлНу и главное: чтобы работать с реестром компьютера в сети, необходимо в применяемой команде перед разделом указать имя удалённой машины, начинающееся с двойного обратного слеша.
При этом, в командах, обрабатывающих сразу несколько разделов (например, копирование из одного раздела в другой, сравнение веток), одна из веток может располагаться на локальном компьютере, а другая на компьютере в сети.

То есть, для копирования ветки с удалённой машины на наш компьютер необходимо выполнить следующую команду:

reg copy \\FRIEND\HKLM\Software\Games\Football\User HKLM\Software\Games\Football\User /s

Указанная команда скопирует содержимое раздела User с компьютера FRIEND в локальной сети в реестр машины, с которой выполняется команда.

На этом заключительную статью описания общих принципов работы с реестром компьютера и с bat-файлами можно считать завершённой.
Безошибочных вам команд и корректных ключей реестра.



Добавить комментарий