A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
regedit / docs / source / reg-cmd.rst
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
119 lines (71 sloc) 9.73 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
Работа с реестром из командной строки
Работа с реестром возможна не только через утилиту regedit.exe , но и напрямую из командной строки с помощью утилиты REG , она поддерживает все возможности, которые имеет программа regedit.exe . И более того — она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам невозможна.
Системный реестр Windows. Что это и как с ним работать?!
К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.
В общем виде синтаксис команды 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 — вывести список всех подразделов данного раздела реестра вместе с их содержимым.
В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:
Как добавить ключ в реестр Windows 10 из командной строки? Как сделать импорт в реестр из CMD?
reg query «HKLMSOFTWARECrypto ProSettingsUsersS-1-5-21-2889205033-3114528180-1522031737-1000Keys»
Лучше вводить путь в кавычках.
Будет выведен примерно такой результат:
HKEY_LOCAL_MACHINESOFTWARECrypto ProSettingsUsersS-1-5-21-2889205033-3114528180-1522031737-1000Keys def.key REG_BINARY 300E0C0C415A415A415F6E6F70617373 HKEY_LOCAL_MACHINESOFTWARECrypto ProSettingsUsersS-1-5-21-2889205033-3114528180-1522031737-1000Keys2015ZAO_
Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_ .
Экспорт и импорт веток реестра (EXPORT и IMPORT)
Для экспорта используется команда EXPORT . Синтаксис команды:
REG EXPORT [/y]
- имя_раздела — полное имя подраздела реестра в одном из выбранных корневых разделов.
- имя_файла — имя .reg файла, который получится после экспорта.
- Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.
Экспортируем контейнеры закрытых ключей на рабочий стол:
reg export «hklmSOFTWARECrypto ProSettingsUsersS-1-5-2-1-2889205033-3114528180-1522031737-1000Keys» C:UsersDmitryDesktopkeys.reg /y Операция успешно завершена.
Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg . Теперь импортируем ее обратно.
Команда доступна только для выполнения на локальном компьютере.
Для импорта используется команда IMPORT . Синтаксис команды:
REG IMPORT
reg import C:Users747Desktopkeys.reg Операция успешно завершена.
Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg путь к ветке реестра с учетом разрядности операционной системы и SID текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].
Создание резервной копии реестра (SAVE и RESTORE)
Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE и REG RESTORE :
REG SAVE [/y] REG RESTORE
В данному разделе перечислены основные команды утилиты REG для получения более подробной информации обратитесь к ресурсам, перечисленным в разделе Дополнительные ссылки
- Основы работы с реестром — Утилита reg.exe
- Управление реестром с помощью командной строки
- Руководство по работе с командной строкой ОС Windows
Источник: github.com
Редактирование реестра Windows из командной строки, bat-файлы
На нашем ресурсе уже есть публикация, описывающая основной способ работы с системным реестром Windows : Изменение параметров cистемного реестра Windows. Также мы рассматривали способ автоматизации процесса при помощи специальных файлов: Создание reg-файлов. Синтаксис редактирования записей реестра — позволяющий значительно упростить монотонную работу и воспроизведение часто используемых настроек. В рамках данной статьи мы затронем логическое продолжение темы, а именно, поговорим о том, как редактировать реестр из командной строки.
Использование bat-файлов для редактирования реестра
Точнее сказать, мы, разумеется, не будем раз за разом вручную прописывать нужные параметры в окне консоли, не для этого данный способ нужен, мы рассмотрим вариант внесения изменений в системный реестр Windows при помощи bat-файлов.
Достаточно подробно о создании и использовании батников речь шла в записи Пакетные файлы (bat, батники) Windows, ещё одна функция, которую можно и нужно использовать — изменение записей реестра при помощи cmd языка .
Использование батников для редактирования реестра иногда может быть выгоднее и удобнее, нежели работа со стандартными для этих целей reg-файлами.
- батники шире используются в администрировании;
- батники имеют режим тихого запуска (без всплывающих окон);
- батники можно запускать с повышенными правами, то есть от имени Администратора;
- с помощью бат-файлов возможна работа с реестром сетевых машин.
Именно для таких частных случаев будет полезно знать, как написать батник для редактирования системного реестра Windows.
Работа с реестром из командной строки
Синтаксис бат-файлов и процесс их создания описан в статье, приведённой выше, в данной же публикации затронем исключительно тему, касающуюся выполнения функции изменения реестра из командной строки.
Сразу отметим, что в 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
Если немного применить фантазию и оформить батник, то код будет выглядеть примерно следующим образом:
Вот такой файл, как в архиве, у нас получится: drivers_etc
Остальные примеры в данной статье будем приводить вымышленные, дабы при их тестировании не вносить нежелательных изменений в реестр
reg delete — команда для удаления указанной информации из реестра компьютера.
Чтобы удалить определённый параметр, нам достаточно указать его полный путь после команды удаления. Пример:
reg delete HKLMSoftwareGamesFootballUser1 /v Save
Данная команда удалит параметр Save из указанной ветки.
reg copy — команда для копирования параметров и ключей из одной ветки реестра в другую.
Для копирования параметров достаточно после команды последовательно прописать сначала исходную ветку, а потом изменяемую. Например:
reg copy HKLMSoftwareGamesFootballUser1 HKLMSoftwareGamesFootballUser2 /s
Данная команда скопирует всю информацию из ветки User1 в ветку User2.
reg export — команда для экспорта указанных веток реестра в виде *.reg файла на жёсткий диск.
Пример использования:
reg export HKLMSoftwareGamesFootball MyBackup.reg
В результате выполнения данной команды будет создан рег-файл с бэкапом раздела Football.
reg import — команда, позволяющая импортировать данные из reg-файла в реестр системы.
Пример использования:
reg import MyBackup.reg
В результате выполнения данной команды записи из рег-файла будут импортированы в реестр.
reg query — данная команда возвращает значение запрашиваемых параметров и кустов реестра.
Пример использования:
reg query HKLMSoftwareGamesFootball /v Run
В ответ будет возвращено значение параметра Run в реестре.
reg compare — команда позволяет сравнить две указанные последовательно ветки реестра.
Пример использования:
reg compare HKLMSoftwareGamesFootballUser1 HKLMSoftwareGamesFootballUser2
В ответ команда возвращает одно из значений: 0 — данные веток идентичны; 1 — при выполнении операции произошла ошибка; 2 — данные веток отличаются.
reg load , reg unload , reg save , reg restore — команды, позволяющие бэкапить и восстанавливать нужные ветки системного реестра Windows при помощи файлов *.hiv.
Изменение параметров реестра компьютера в сети
Выше мы рассмотрели достаточно широкие возможности батников в работе с реестром операционной системы. Последний момент, который отметим в контексте данной темы — это редактирование реестра компьютеров в локальной сети.
Для использования в работе с компьютерами в сети доступны все вышеперечисленные команды, единственное ограничение — операции из командной строки над реестром удалённых машин возможно производить только в разделах HKEY_ LOCAL_MACHINE (HKLM), и HKEY_USERS (HKU)
Ну и главное: чтобы работать с реестром компьютера в сети, необходимо в применяемой команде перед разделом указать имя удалённой машины, начинающееся с двойного обратного слеша.
При этом, в командах, обрабатывающих сразу несколько разделов (например, копирование из одного раздела в другой, сравнение веток), одна из веток может располагаться на локальном компьютере, а другая на компьютере в сети.
То есть, для копирования ветки с удалённой машины на наш компьютер необходимо выполнить следующую команду:
reg copy \FRIENDHKLMSoftwareGamesFootballUser HKLMSoftwareGamesFootballUser /s
Указанная команда скопирует содержимое раздела User с компьютера FRIEND в локальной сети в реестр машины, с которой выполняется команда.
На этом заключительную статью описания общих принципов работы с реестром компьютера и с bat-файлами можно считать завершённой.
Безошибочных вам команд и корректных ключей реестра.
Источник: miradmin.ru
Как работать с реестром Windows из командной строки
Обновлено: 02.12.2018 Опубликовано: 24.03.2017
Что такое реестр Windows простыми словами.
Большинство команд лучше выполнять, запустив командную строку от имени администратора. Для этого найдите ее по ключу cmd — кликните по файлу правой кнопкой мыши — выберите Запустить от имени администратора. Или в Windows 10 правой кнопкой по Пуск — Командная строка (администратор).
Выборка (query)
reg query HKLMSoftwareMicrosoft
* в данном примере будет выведен на экран список веток, которые находятся в HKLMSoftwareMicrosoft
Если в пути встречается пробел, необходимо весь путь поместить в кавычки, например:
reg query «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings»
Чтобы вывести все вложенные ветки, запускаем команду с параметром /s:
reg query «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /s
Добавление (add)
Например, добавим настройки использования прокси-сервера для браузера Internet Explorer:
reg add «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /v ProxyEnable /t REG_DWORD /d 1
reg add «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /v ProxyServer /t REG_SZ /d «192.168.0.15:3128»
reg add «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /v ProxyOverride /t REG_SZ /d «»
* где первая команда включает использование прокси-сервера; вторая прописывает использовать прокси с IP-адресом 192.168.0.15 и портом 3128; третья указывает не использовать прокси для локальных адресов.
Удаление (delete)
reg delete /v
Например, чтобы удалить одну из ранее созданной настройки, вводим следующую команду:
reg delete «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /v ProxyEnable /f
Чтобы удалить всю ветку с ее параметрами и значениями, вводим такую команду:
reg delete «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /va /f
Редактирование
Для редактирования значения нужно выполнить команду на добавление. Если ключ уже существует, команда заменить значение на новое:
reg add «HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings» /v ProxyEnable /t REG_DWORD /d 0 /f
* в данном примере будет изменено значение ключа ProxyEnable на 0 (или создан с таким значением); ключ f указывает на замену значения без вывода подтверждения.
Импорт
Во многих случаях проще выполнить импорт из файла, кликнув по нему дважды. Но, иногда необходимо выполнить импорт из командной строки:
reg import C:Tempimport_proxy_settings.reg
* в данном примере мы импортировали настройки из файла import_proxy_settings.reg, который находится в каталоге C:Temp.
Краткое описание всех операций
В данной таблице приведены все возможные операции над коандой REG.
REG QUERY | Делает выборку ключей, параметров и значений |
REG ADD | Добавляет новую запись (параметр, ключ, значение) |
REG DELETE | Удаляет одну или несколько записей |
REG COPY | Копирует данные из одной ветки в другую |
REG SAVE | Сохраняет ветку со всеми параметрами и значениями в файл |
REG RESTORE | Восстанавливает ветку и данные из файла |
REG LOAD | Загружает данные в указанную ветку |
REG UNLOAD | Выгружает данные из указанной ветки |
REG COMPARE | Сравнивает две ветки |
REG EXPORT | Экспортирует все подразделы и параметры в файл .reg |
REG IMPORT | Импортирует все подразделы и параметры из файла .reg |
REG FLAGS | Показывает и устанавливает флаги для ветки |
Подробное описание всех ключей можно увидеть, введя команду reg /?
Например: reg add /?
Источник: www.dmosk.ru
Основы работы с реестром Windows
Прежде чем перейти к делу, нужно определиться с терминологией. В статьях о твиках реестра, размещенных на сайте автоустановки, используется официальная терминология Microsoft, поэтому термины вполне соответствуют элементам редактора реестра.
Рисунок 1 — Редактор реестра
![]() |
Разделы реестра |
![]() |
Параметры реестра |
![]() |
Значения параметров |
Как видите, здесь нет никаких «веток» и «ключей». Теперь к делу.
REG-файл
REG-файл — это текстовый файл с расширением REG, составленный в определенном формате.
Формат REG-файла
Ниже приводится пример REG-файла, отключающего меню недавних документов.
Windows Registry Editor Version 5.00
;Отключить меню недавних документов
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]
«NoRecentDocsMenu»=hex:01,00,00,00
Создание REG-файла
Создать REG-файл очень просто. Скопируйте код в любой текстовый редактор (например, Блокнот). Нажмите CTRL+S и сохраните файл с любым именем и расширением .reg, заключая оба в кавычки.
Рисунок 2 — Создание REG-файла
Синтаксис REG-файла
- Windows Registry Editor Version 5.00 — заголовок файла, являющийся его неотъемлемой частью. Также в качестве заголовка вы можете встретить REGEDIT4 — это формат Windows 98 / NT 4.0, который впрочем поймут и более новые операционные системы Windows. Подробнее о различиях в форматах можно прочитать на сайте JSO FAQ (на английском языке).
- ;Отключить меню недавних документов — комментарий. Все строки, начинающиеся с ; (точка с запятой) представляют собой комментарии.
- [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer] — это раздел реестра. Графически (в редакторе реестра) он представляет собой путь к параметру. В формате REG-файлов разделы всегда заключаются в квадратные скобки. В этом примере (под)раздел Explorer принадлежит разделу HKEY_CURRENT_USER.
- «NoRecentDocsMenu»=hex:01,00,00,00 — параметр реестра и его значение. В зависимости от значения параметра, меняется поведение операционной системы или объекта. Многие параметры можно настроить в графическом интерфейсе операционной системы, но далеко не все. В таких случаях для изменения параметра используют редакторы реестра, твикеры или REG-файлы.
В REG-файле может содержаться несколько разделов и параметров реестра, но заголовок используется только в самом начале.
Windows Registry Editor Version 5.00
;Отключить перезагрузку в случае BSOD
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl]
«AutoReboot»=dword:00000000
;Отключить уведомление на экране приветствия о непрочитанных сообщениях
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUnreadMail]
«MessageExpiryDays»=dword:00000000
Данный REG-файлом был получен путем экспорта из редактора реестра regedit.exe. При помощи REG-файлов можно вносить изменения в системный реестр — эта операция называется импортом параметров реестра.
Экспорт параметров реестра
Экспорт параметров реестра является несложной задачей. Как правило, параметры экспортируют перед внесением изменений в реестр (резервное копирование), либо для того чтобы создать REG-файл для последующего импорта в реестр другого компьютера или при автоматической установке системы.
Экспортировать параметры реестра можно различными способами.
Редактор реестра Windows (regedit.exe)
В состав ОС Windows входит программа для редактирования реестра — regedit.exe. Поскольку она располагается в системном каталоге, для ее запуска в командной строке не нужно указывать полный путь (например, достаточно будет такой последовательности: Пуск — Выполнить — regedit — OK).
Для того чтобы экспортировать раздел реестра, достаточно щелкнуть по нему правой кнопкой мыши и выбрать из контекстного меню команду Экспортировать (в Windows 2000 эта команда расположена в меню Файл).
Другие редакторы реестра
Существует великое множество программ для внесения изменений в системный реестр, которые также обладают возможностью экспорта параметров. Если Вы часто работаете с реестром, то Вам, наверняка, пригодится программа, обладающая адресной строкой. В адресную строку можно вставить скопированный (из статьи или из сообщения на форуме) раздел реестра и быстро перейти к нужному параметру. Примером такой программы может служить RegWorks.
Командная строка
Из командной строки экспорт параметров реестра можно выполнить при помощи команды REG EXPORT , обладающей следующим синтаксисом.
REG EXPORT Полный путь к разделу реестра в виде: КОРЕНЬПодраздел (только для локального компьютера). Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе. Имя файла на диске для экспорта. Примеры: REG EXPORT HKLMSoftwareMyCoMyApp AppBkUp.reg Экспортирует все подразделы и значения параметров раздела MyApp в файл AppBkUp.reg
Импорт параметров реестра
Импорт параметров реестра можно осуществить несколькими способами.
Запуск REG-файла при помощи графического интерфейса
Это самый простой способ. Он заключается в запуске REG-файла, содержащего необходимые параметры, двойным щелчком мыши или из командной строки.
Двойной щелчок мыши
Как это ни тривиально звучит, но двойным щелчком мыши на REG-файле можно внести изменения в реестр. Правда, сначала система уточнит, действительно ли вы хотите это сделать. В случае положительного ответа изменения будут внесены.
Рисунок 3 — Система запрашивает подтверждение на внесение изменений.
Из-за этого запроса такой способ не подходит для импорта параметров в реестр во время автоматической установки системы. Но есть и другие способы.
Командная строка
Для импорта REG-файлов из командной строки существует команда REGEDIT . Набрав в командной строке
REGEDIT C:hklm.reg
Вы получите точно такое же диалоговое окно, как при двойном щелчке мыши. Подавить появление диалогового окна можно запустив команду с параметром /S . Именно этот способ чаще всего применяется во время автоматической установки Windows .
REGEDIT /S C:hklm.reg
Команда REG ADD
При помощи команды REG ADD также можно импортировать параметры реестра. Она удобна тем, что команды для импорта параметров можно включить в состав пакетного файла, выполняющего также и другие задачи (т. е. нет необходимости в дополнительном REG-файле). Например, эта команда нередко применяется для импорта значений реестра в раздел RunOnceEx и последующей установки программ при первом входе в систему. Синтаксис команды достаточно прост.
REG ADD [/v | /ve] [/t ] [/s ] [/d ] [/f] [\] Имя удаленного компьютера, если оно опущено, то по умолчанию считается равным имени локального компьютера. На удаленных компьютерах доступны только разделы HKLM и HKU. Полный путь к разделу реестра в виде КОРЕНЬПодраздел. Корневой радел.
Значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. Полный путь к разделу реестра в выбранном корневом разделе. /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. По умолчанию, считается равным «