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

Обновлено Обновлено:
Опубликовано Опубликовано:

Что такое реестр Windows простыми словами.

Большинство команд лучше выполнять, запустив командную строку от имени администратора. Для этого найдите ее по ключу cmd — кликните по файлу правой кнопкой мыши — выберите Запустить от имени администратора. Или в Windows 10 правой кнопкой по ПускКомандная строка (администратор).

Чтение данных
Добавление параметров
Удаление
Редактирование
Импорт
Описание всех команд

Выборка (query)

reg query HKLM\Software\Microsoft

* в данном примере будет выведен на экран список веток, которые находятся в HKLM\Software\Microsoft

Если в пути встречается пробел, необходимо весь путь поместить в кавычки, например:

reg query «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings»

Чтобы вывести все вложенные ветки, запускаем команду с параметром /s:

reg query «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /s

Добавление (add)

Синтаксис:

reg add <Ключ> /v <Параметр> /t <Тип> /d <Значение>

Например, добавим настройки использования прокси-сервера для браузера Internet Explorer:

reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyEnable /t REG_DWORD /d 1

reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyServer /t REG_SZ /d «192.168.0.15:3128»

reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyOverride /t REG_SZ /d «<local>»

* где первая команда включает использование прокси-сервера; вторая прописывает использовать прокси с IP-адресом 192.168.0.15 и портом 3128; третья указывает не использовать прокси для локальных адресов.

Удаление (delete)

Синтаксис:

reg delete <Ключ> /v <Параметр>

Например, чтобы удалить одну из ранее созданной настройки, вводим следующую команду:

reg delete «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyEnable /f

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

reg delete «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /va /f

Редактирование

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

reg add «HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings» /v ProxyEnable /t REG_DWORD /d 0 /f

* в данном примере будет изменено значение ключа ProxyEnable на 0 (или создан с таким значением); ключ f указывает на замену значения без вывода подтверждения.

Импорт

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

reg import <путь к файлу>

Например:

reg import C:\Temp\import_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 /?

Дмитрий Моск — частный мастер

Была ли полезна вам эта инструкция?

Да            Нет

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

Работа с реестром возможна не только через утилиту regedit.exe, но и напрямую из командной строки с помощью утилиты REG, она поддерживает все возможности, которые имеет программа regedit.exe. И более того – она также поддерживает несколько особенных функций. Полезна в том случае когда работа с regedit по каким либо причинам невозможна.

К тому же это позволяет автоматизировать многие рутинные задачи и встраивать команды в скрипты.

Основной синтаксис¶

В общем виде синтаксис команды 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 – вывести список всех подразделов данного раздела реестра вместе с их содержимым.

В качестве примера получим содержимое ветки в которой хранятся закрытые ключи квалифицированных электронных подписей:

reg query "HKLM\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys"

Примечание

Лучше вводить путь в кавычках.

Будет выведен примерно такой результат:

HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys
def.key    REG_BINARY    300E0C0C415A415A415F6E6F70617373
HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-21-2889205033-3114528180-1522031737-1000\Keys\2015ZAO_

Как видно из вывода, в реестре компьютера находится всего один контейнер 2015ZAO_.

Экспорт и импорт веток реестра (EXPORT и IMPORT)¶

Для экспорта используется команда EXPORT. Синтаксис команды:

REG EXPORT <имя_раздела> <имя_файла> [/y]
  • имя_раздела – полное имя подраздела реестра в одном из выбранных корневых разделов.
  • имя_файла – имя .reg файла, который получится после экспорта.
  • Параметр /y в конце команды позволяет выполнение замены существующего файла без запроса подтверждения.

Экспортируем контейнеры закрытых ключей на рабочий стол:

reg export "hklm\SOFTWARE\Crypto Pro\Settings\Users\S-1-5-2-1-2889205033-3114528180-1522031737-1000\Keys" C:\Users\Dmitry\Desktop\keys.reg /y
Операция успешно завершена.

Вся ветка с контейнерами успешно экспортирована на рабочий стол и сохранена в файле keys.reg. Теперь импортируем ее обратно.

Примечание

Команда доступна только для выполнения на локальном компьютере.

Для импорта используется команда IMPORT. Синтаксис команды:

Выполним:

reg import C:\Users\747\Desktop\keys.reg
Операция успешно завершена.

Напомню, что для экспорта ветки на другом компьютере, необходимо будет изменить в файле keys.reg путь к ветке реестра с учетом разрядности операционной системы и SID текущего пользователя. Подробнее об импорте и экспорте закрытых ключей смотрите в Руководстве по работе с реестром ОС Windows в разделе Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739].

Создание резервной копии реестра (SAVE и RESTORE)¶

Для резервного копирования и восстановления реестра используются следующие команды (типы операций) утилиты REG SAVE и REG RESTORE:

REG SAVE <имя_раздела> <имя_файла> [/y]

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

Примечание

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

Profile picture for user Олег

Windows Terminal cmd

Нужно добавить запись в реестр с помощью BAT файла? Хотите по расписанию править ветки реестра? Нужно исправить значение реестра из командной строки? Нужно поправить реестр компьютера по сети? Легко!

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

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

Параметры команд

  • /v — имя параметра, добавляемого в выбранный раздел.
  • /ve — добавление параметра с пустым именем (по умолчанию) в этот раздел.
  • /t — тип данных
    • REG_SZ
    • REG_MULTI_SZ
    • REG_EXPAND_SZ
    • REG_DWORD
    • REG_QWORD
    • REG_BINARY
    • REG_NONE
    • если не указывается, то по умолчанию используется REG_SZ.
  • /s — символ, используемый в качестве разделителя данных для параметров типа REG_MULTI_SZ. Если не указан, то в качестве разделителя используется «\0».
  • /d — значение, присваиваемое добавляемому параметру реестра.
  • /f — принудительно перезаписывает существующую запись реестра без запроса подтверждения.
  • /reg:32 — указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений.
  • /reg:64 — указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений.

Команды

  • 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 \\ABC\HKLM\Software\MyCo
    Добавляет раздел HKLM\Software\MyCo на удаленном компьютере ABC

REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
    Добавляет параметр (имя: Data, тип: REG_BINARY, данные: fe340ead)

REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
    Добавляет параметр (имя: MRU, тип: REG_MULTI_SZ, данные: fax\0mail\0\0)

REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
    Добавляет параметр (имя: Path, тип: REG_EXPAND_SZ, данные: %systemroot%)
    Примечание. В расширяемой строке используйте знак вставки ( ^ )

Пример BAT файла, который разрешает запуск неподписанных PowerShell скриптов:

@echo off
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell" /v "ExecutionPolicy" /t REG_SZ /d "Bypass" /f

reg delete — удаление данных в реестре.

REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    Удаляет раздел реестра Timeout и все его подразделы и параметры.

REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
    Удаляет параметр реестра MTU из раздела MyCo на компьютере ZODIAC

reg query — считать данные из реестра.

REG QUERY HKLM\Software\Microsoft\ResKit /v Version
    Отображение значения параметра реестра Version

REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s
    Отображение всех подразделов и их параметров в разделе реестра Setup
    удаленного компьютера ABC

REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /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 HKLM\SOFTWARE /ve
    Отображение параметра и данных для пустого значения (по умолчанию)
    в разделе HKLM\SOFTWARE

reg copy — копировать данные из одной ветки реестра в другую.

REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
    Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp

REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1
    Копирует все параметры раздела MyCo с компьютера ZODIAC
    в раздел MyCo1 на локальном компьютере

reg compare — сравнить две ветки реестра.

REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
    Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp

REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version
    Сравнивает значения Version в разделах MyCo и MyCo1

REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s
    Сравнивает все подразделы и значения параметров в разделе
    HKLM\Software\MyCo реестра на компьютере ZODIAC с аналогичным разделом
    на текущем компьютере

reg export — экспорт данных реестра в REG файл.

REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg
    Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg

reg import — импорт данных в реестр из REG файла.

REG IMPORT AppBkUp.reg
    Импорт записей реестра из файла AppBkUp.reg

reg flags— работа с флагами реестра.

REG FLAGS HKLM\Software\MyCo\MyApp QUERY
    Отображает текущие флаги раздела MyApp.

REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE /s
    Устанавливает флаг DONT_VIRTUALIZE
    (и удаляет флаги DONT_SILENT_FAIL и RECURSE_FLAG) для раздела MyApp
    и всех его подразделов

reg save, reg restore, reg load, reg unload — бэкап и восстановление реестра с помощью файлов HIV.

REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv
    Сохранение куста MyApp в файл AppBkUp.hiv текущей папки

REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv
    Восстановление файла NTRKBkUp.hiv заменой раздела ResKit

REG LOAD HKLM\TempHive TempHive.hiv
    Загрузка файла TempHive.hiv в раздел HKLM\TempHive

REG UNLOAD HKLM\TempHive
    Выгрузка куста реестра TempHive в HKLM

Did you know this venerable Windows GUI tool has several switches for basic registry editing tasks? See what tweaks Microsoft inserted in regedit for administrative use.

There are a multitude of hidden settings in the Windows operating system that you can unlock with help from several tools designed for Windows registry editing.

There are times when a simple addition to the registry can fix a stubborn problem to save you from having to reinstall an application, or modifying an existing registry key can ward off an emerging threat until Microsoft deploys an official patch to plug the vulnerability.

There are several utilities and techniques to make registry changes. Regedit is one of the oldest tools, but Microsoft provides several more options, including the command-line utilities named reg and regini, PowerShell cmdlets and the Group Policy administrative tool.

Back to basics: What is the Windows registry?

The registry is a Windows OS database feature used to configure and organize the information related to settings for the operating system for the users, installed software and hardware devices. The registry replaced the need to use configuration files in application folders. One benefit to the registry is to reduce issues from faulty program updates that corrupted configuration files.

The registry in the latest versions of Windows has a default of five predefined keys:

  1. HKEY_CLASSES_ROOT (shortened name HKCR). This root key tells Windows what application to use when you want to open a certain file type.
  2. HKEY_CURRENT_USER (shortened name HKCU). This root key holds data related to the user currently using the machine, including the user’s folders and screen colors.
  3. HKEY_LOCAL_MACHINE (shortened name HKLM). Data in this root key relates to configuration information for the computer or any user.
  4. HKEY_USERS (shortened name HKU). This root key holds all the actively loaded profiles for users on the machine.
  5. HKEY_CURRENT_CONFIG (shortened name HKCC). This root key holds hardware profile information the machine calls during system startup.

Below each key can be multiple subkeys and values. Not every application requires a subkey.

Oftentimes, Microsoft will direct administrators to mitigate a pressing security issue in Windows by modifying subkeys in the registry by adding new registry values — also called data entries — or modifying or existing ones.

One common Windows registry edit is changing the file association for a certain file type so it opens with a specific application. For example, if you want .html files to open with Google Chrome rather than Microsoft Edge, you can adjust those settings in the file extension area of the Windows registry.

Regedit.exe uses

Regedit is the GUI-based tool built into Windows for editing the Windows registry. To start, type regedit from the Windows run or search box.

Regedit gives a visual representation of the Windows registry, using a dual-pane layout with the root keys and subkeys in the left pane and the values for the selected key or subkey in the right pane. You can import or export registry subkeys and values from the File menu. From the Edit menu, you can create a new entry in the registry, check the permissions for the selection, delete or rename the selection, or copy the key name. You can also run a search from this menu.

Right-clicking in the different sections let you add a new key, modify an existing one or delete a key.

regedit layout

The regedit registry editor is a GUI-based tool that displays the hierarchical layout of the Windows registry. It also includes several command-line options.

Due to its importance to the Windows operating system, you should export a backup of the registry in case you need to recover from a problem. Use the export function in the regedit File menu to make a backup of the entire registry or just the section you plan to edit. This will create a .reg file. If a problem occurs, you can double-click on that .reg file to restore the original settings.

Microsoft released its first 64-bit Windows Server version with Server 2008 and its first Windows client 64-bit version with Windows 8. The default version of regedit in the latest versions of Windows can open both 64-bit and 32-bit registry keys for backward compatibility.

Command-line options and syntax for regedit.exe

You can regedit with either hotkeys or a mouse, but the utility has several command-line options for basic registry work.

regedit

filename.reg

Imports a registry file into the Windows registry.

regedit

/c filename.reg

Create a new registry file and replace existing entries in the Windows registry.

regedit

/d registry-subkey

Removes a subkey from the registry, such as regedit /d HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default.

regedit

/e

Exports the entire registry to a file. You can modify this command to add a filename and specific location on the drive, such as regedit /e c:\AllRegistryEntries.reg. You can export a specific key with the following example command regedit /e keybackup.reg HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Edge.

regedit

/l: system

Specify the location of the SYSTEM.DAT file used in legacy Windows operating systems and typically stored in the C:\Windows folder. This file stores the data kept in the HKEY_LOCAL_MACHINE key in the registry.

regedit

/r:user

Specify the location of the NTUSER.DAT file to use. This is the backup of the HKEY_USERS key in the registry. The file is typically found in the C:\Users\username folder.

regedit

/m

Opens an additional regedit instance, which can be helpful when troubleshooting to compare registry entries.

regedit

/s

Silent mode. Performs an action without stopping for confirmation with dialog box.

How to edit a registry using the command line

While regedit can be used on the command line, it is not optimal for granular administrative work. To make repeatable changes to the registry in multiple machines with automation, it’s worth looking into switching from regedit to reg, a command-line-based tool included with Windows.

The reg utility offers more expansive functionality to edit subkeys and their values from the command line. Reg is more flexible and works well for a range of administrative scenarios, such as using batch files to correct common issues in client machines and managing the registry on a remote machine.

reg add parameter

The reg command has 11 parameters, each with its own set of flags that provide additional functionality. The screenshot shows the help menu for the reg add parameter, which includes its flags and examples of how to use the parameter.

To use reg, type cmd from the Windows run or search box to open the command prompt.

To show all the parameters for the reg command, enter reg /? from the command prompt. Typing reg <parameter> /? shows the switches available for the parameter and examples of how to use them.

Parameter

Description

reg add

Inserts a new subkey or entry to the registry. The following example shows how to add a key to remote Windows system named RemotePC: reg add \\RemotePC \HKLM\Software\Test

reg compare

Runs a comparison of specified registry subkeys or entries. The following example compares all values under the named keys: reg compare HKLM\Software\Test\MyApp HKLM\Software\Test\SaveMyApp. If the results are identical, reg will return a 0 code. If the results are different, reg will return a code of 2. If the operation failed, reg will display a code of 1.

reg copy

Copies a registry entry to a specified location on the local or remote computer. Example of use: reg copy \\RemotePC\HKLM\Software\TestKey HKLM\Software\TestKey. The command will copy the TestKey values in the registry from the remote machine named RemotePC to the current machine.

reg delete

Removes a subkey or entries from the registry. Example of use: reg delete HKLM\Software\FakeName\TestApp\Settings. This command deletes the Settings registry key, and any subkeys and settings.

reg export

Exports named subkeys, entries and values of the local computer into a file. Example of use: reg export HKLM\Software\FakeName\TestApp BackupFile.reg. The command makes a copy of the TestApp key and its subkeys and values in a file name BackupFile.reg.

reg import

Copies the contents of a file that contains exported registry subkeys, entries and values into the registry of the local computer. Example of use: reg import BackupFile.reg. The command adds BackupFile.reg registry entries to the machine.

reg load

Writes saved subkeys and entries into a different subkey in the registry. Example of use: reg load HKLM\Test TestHive.hiv. This command will load the TestHive.hiv file into the HKLM\Test key.

reg query

Returns a list of the next tier of subkeys and entries that are located under a specified subkey in the registry. Example of use: reg query HKLM\Software > C:\regoutput.txt. This command outputs the subkeys of HKLM\Software into a file named regoutput.txt in the C:\ folder.

reg restore

Imports subkeys and entries from a file into the registry. Example of use: reg restore HKLM\Software\Microsoft\Test RegBackup.hiv. This command will restore the contents of the RegBackup.hiv file into the Test key.

reg save

Exports specified registry subkeys, entries and values into a named file. Examples of use: reg save HKLM\Software\Test\AppTest BackupFile.hiv. The command saves the AppTest hive to the BackupFile.hiv file.

reg unload

Removes the registry section loaded by the reg load operation. Example of use: reg unload HKLM\TestHive. The command unloads HKLM\TestHive from the registry.

Dig Deeper on Microsoft messaging and collaboration

  • How to test the PowerShell pending reboot module

    DanFranciscus

    By: Dan Franciscus

  • Windows Registry Editor (regedit)

    KinzaYasar

    By: Kinza Yasar

  • How and when to perform a Windows Registry cleanup

    StephenBigelow

    By: Stephen Bigelow

  • Increase PowerShell security with help from AppLocker

    DanFranciscus

    By: Dan Franciscus

The Registry is a big part of Windows. It’s the database that stores the most important settings that help the operating system and certain applications to work.

You typically use the «Registry Editor» to modify the database when you need to fix an issue, enable a secret feature, or improve a particular functionality. However, you probably may not know that Windows 10, similar to previous versions, includes reg.exe, which is a command-line tool that allows you also to edit the Registry using Command Prompt.

Reg.exe comes built into the operating system, and it includes the same functionalities found in the Registry Editor (GUI). You can even edit entries faster, as you don’t have to manually browse the confusing tree database. And you get the flexibility of being able to implement tweaks in the Registry using scripts.

In this Windows 10 guide, we’ll walk you through the steps to get started using Reg.exe to edit the Registry using Command Prompt.

How to edit the Registry using Command Prompt

Important: If you’re planning to use these commands on your computer, make sure to understand that modifying the Registry is risky, and it can cause irreversible damage to your installation if you don’t do it correctly. It’s recommended to make a full backup of your computer before proceeding.

To run reg.exe, you first need to start Command Prompt as an administrator with the following steps:

  1. Open Start.
  2. Search for Command Prompt.
  3. Right-click the result and select Run as administrator.
  4. To run the tool, type the following command and press Enter:reg /?

This command will display all the operation types you can use, including:

  • REG Query
  • REG Add
  • REG Delete
  • REG Copy
  • REG Save
  • REG Load
  • REG Unload
  • REG Restore
  • REG Compare
  • REG Export
  • REG Import
  • REG Flags

Note: You can also use REG followed by the operation type and /? to get more help. For example, REG QUERY /? or REG ADD /?.

You’ll also get the return codes: 0 meaning that the operation completed successfully, and 1 indicating that the operation failed. However, you won’t get any return codes using the Compare switch.

While there a long list of possible command combinations, below we’ll be listing the most useful commands to get started using reg.exe with Command Prompt.

How to add and delete registry entries

Syntax

  • Add: REG ADD KeyName [{/v ValueName | /ve}] [/t Type] [/f]
  • Delete: REG DELETE KeyName [{/v ValueName | /ve | /va}] [/f]

Command description

  • KeyName: Defines the path to the subkey or entry. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to edit the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
  • /v ValueName: Specifies the name for the registry key to be added or deleted.
  • /ve: Defines if you’re adding or deleting an entry that has a null value.
  • /t Type: Specifies the type of registry entries. Here’s the list of valid types:
    • REG_SZ
    • REG_MULTI_SZ
    • REG_DWORD_BIG_ENDIAN
    • REG_DWORD
    • REG_BINARY
    • REG_DWORD_LITTLE_ENDIAN
    • REG_LINK
    • REG_FULL_RESOURCE_DESCRIPTOR
    • REG_EXPAND_SZ
  • /f: Adds or deletes registry content without prompting for confirmation.
  • /s Separator: Defines the character you use to separate multiple instances of data when the REG_MULTI_SZ data type is specified and you need to add more than one entry. The default separator is \0 if it is not specified.
  • /d Data: Specifies the data for the new entry in the registry.

REG ADD examples

To add a subkey named MySubkey under HKEY_LOCAL_MACHINE\Software, use the following example:

REG ADD HKLM\Software\MySubkey

To add a new DWORD (32-bit) value entry named AppInfo with the value of 1, use the following example:

REG ADD HKLM\Software\MySubkey /v AppInfo /t REG_DWORD /d 1

To add a new DWORD (32-bit) value entry named AppInfo with value of 1 on a remote computer, use the following example:

REG ADD \\ComputerName\HKLM\Software\MySubkey /v AppInfo /t REG_DWORD /d 1

To add a new Binary Value entry named Data with data of fe340ead, use the following example:

REG ADD HKLM\Software\MySubkey /v Data /t REG_BINARY /d fe340ead

To add a registry entry with multiple values to MySubkey with a value name of MRU of type REG_MULTI_SZ and data of fax\0mail\2\1, use the following example:

REG ADD HKLM\Software\MySubkey /v MRU /t REG_MULTI_SZ /d fax\0mail\2\1

To add an expanded registry entry to MySubkey with a value name of Path of type REG_EXPAND_SZ and data of %systemroot%, use the following example:

REG ADD HKLM\Software\MySubkey /v Path /t REG_EXPAND_SZ /d ^%systemroot^%

REG DELETE examples

To delete the subkey named MySubkey, use the following example:

REG DELETE HKLM\Software\MySubkey /f

To delete the subkey named MySubkey on a remote computer, use the following example:

REG DELETE \\ComputerName\HKLM\Software\MySubkey /f

To delete the registry entry named AppInfo within the MySubkey subkey, use the following example:

REG DELETE HKLM\Software\MySubkey /v AppInfo /f

To delete only the registry entries that have no value inside the subkey named MySubkey, use the following example:

REG DELETE HKLM\Software\MySubkey /ve

To delete all the registry entries from the MySubkey subkey, use the following example:

REG DELETE HKLM\Software\MySubkey /va

How to copy registry entries

Syntax

  • Copy: REG COPY KeyName1 KeyName2 [/s] [/f]

Command description

  • KeyName1: Defines the path to the subkey you want to copy. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to copy the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
  • KeyName2: Defines the path to the subkey destination. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to copy the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
  • /s: Copies all subkeys and entries of a particular subkey.
  • /f: Executes the copy command without prompting for confirmation.

REG COPY examples

To copy all subkeys and values under the key MySubkey1 to the key MySubkey2, use the following example:

REG COPY HKLM\Software\MySubkey1 HKLM\Software\MySubkey2 /s

To copy all values under the subkey MySubkey1 from a remote computer to the subkey MySubkey2 on the a new computer, use the following example:

REG COPY \\ComputerName\HKLM\Software\MySubkey1 HKLM\Software\MySubkey2

How to export and import registry entries

Syntax

  • Export: REG EXPORT KeyName FileName [/y]
  • Import: REG IMPORT FileName

Command description

  • KeyName: Defines the path to the subkey or entry. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC.
  • FileName: Specifies the name and path of the .reg file to be exported or imported.
  • /y: Overwrites the registry content without prompting for confirmation.

REG EXPORT examples

To export all the content within the subkey MySubkey, use the following example:

REG EXPORT HKLM\Software\MySubkey C:\RegKeyBackup.reg

To export and overwrite any existing file, use the following example:

REG EXPORT HKLM\Software\MySubkey C:\RegKeyBackup.reg /y

REG IMPORT examples

To import all the content, including subkeys, entries, and values within the subkey named MySubkey, use the following example:

REG IMPORT C:\RegKeyBackup.reg

How to save and restore registry entries

Syntax

  • Save: REG SAVE KeyName FileName [/y]
  • Restore: REG RESTORE KeyName FileName

Command description

  • KeyName: Defines the path to the subkey or entry. Valid registry key shortcuts include HKLM, HKCU, HKCR, HKU, and HKCC. If you’re trying to edit the registry on a remote computer, you can only use these shortcuts: HKLM and HKU.
  • FileName: Specifies the name and path of the .hiv file to be saved or restored.
  • /y: Overwrites the registry content without prompting for confirmation.

REG SAVE examples

To save a copy of subkeys, entries, and values within the subkey named MySubkey, use the following example:

REG SAVE HKLM\Software\MySubkey C:\RegKeyBackup.hiv

To save and overwrite any existing file, use the following example:

REG SAVE HKLM\Software\MySubkey C:\RegKeyBackup.hiv /y

REG RESTORE examples

To restore all the content, including subkeys, entries, and values within the subkey named MySubkey, use the following example:

REG RESTORE HKLM\Software\MySubkey C:\RegKeyBackup.hiv

Wrapping things up

While you can always use the Registry Editor, you’ll find that it’s sometimes easier and faster to use the reg.exe command-line tool. However, at the end of the day, you will still be editing the Registry, which is dangerous no matter which tool you use.

Also, make sure to double-check your commands before executing, as you can make mistakes. For example, REG ADD HKLM\Sofware\MySubkey is not the same as REG ADD HKLM\Software\MySubkey. A mistake like that might not do anything, or it could wreck your entire system. So be careful.

If you’re wondering, yes, there is a big difference between Export and Save. The command EXPORT exports registry content into a text format that you can easily distribute as a .reg file to other computers.

On the other hand, SAVE saves the registry content into a hive file format (.hiv), which preserves ownership and other important information. You should only use this command if you’re restoring entries to the same computer.

It’s also important to note that while you can use many of these commands on a remote computer, IMPORT and EXPORT only work on a local computer (not over the network).

Although, we’re focusing this guide for Windows 10, keep in mind that reg.exe has been part of the operating system for a long time, as such this should also work on Windows 8.1 and Windows 7.

Do you prefer using the Registry Editor or reg.exe to modify the Windows Registry? Tell us in the comments below.

More Windows 10 resources

For more help articles, coverage, and answers on Windows 10, you can visit the following resources:

  • Windows 10 on Windows Central – All you need to know
  • Windows 10 help, tips, and tricks
  • Windows 10 forums on Windows Central

You can learn about more at Microsoft TechNet

All the latest news, reviews, and guides for Windows and Xbox diehards.

Mauro Huculak is technical writer for WindowsCentral.com. His primary focus is to write comprehensive how-tos to help users get the most out of Windows 10 and its many related technologies. He has an IT background with professional certifications from Microsoft, Cisco, and CompTIA, and he’s a recognized member of the Microsoft MVP community.

  • Работа с несколькими экранами в windows 10
  • Работа с ssh в windows
  • Работа с жестким диском в windows 7 64 bit
  • Работа с несколькими приложениями в windows
  • Работа с snmp в windows