REG – редактирование реестра Windows в командной строке.Утилита командной строки REG.EXE присутствует во всех версиях операционных систем семейства Windows и используется для добавления, изменения, удаления и просмотра параметров и ключей реестра. Формат командной строки: REG < операция > [Список параметров] Операции: QUERY - поиск и отображение содержимого реестра. ADD - добавление новых разделов и записей в реестр. DELETE - удаление разделов и записей из реестра. COPY - копирование разделов и записей из реестра. SAVE - сохранение данных реестра в файл. LOAD - загрузка куста реестра UNLOAD - выгрузка куста реестра в файл, ранее загруженный операцией LOAD. RESTORE - восстановление данных реестра из файла. COMPARE - сравнение разделов и параметров реестра. EXPORT - экспорт данных реестра в .reg-файл. IMPORT - импорт данных реестра из .reg-файла. FLAGS - отображение или изменение флагов разделов реестра. Код возврата: (за исключением REG COMPARE): 0 – Успешно 1 - С ошибкой Для каждой операции, задаваемой в командной строке REG, используются свои параметры. Для получения справки по определенной операции введите: REG < операция > /? Результат выполнения операции зависит от прав пользователя по отношению к данным реестра. Редактирование реестра является потенциально опасной операцией и при необдуманных или ошибочных действиях может привести к неработоспособности системы. Прежде, чем вносить какие-либо изменения в реестр, нужно сделать его резервную копию и освоить процедуру восстановления системы в случае ее краха по причине неверного содержимого реестра, в том числе, и для случаев, когда загрузку Windows выполнить невозможно. REG QUERY – отобразить содержимое реестра.Формат команды: REG QUERY имя_раздела [/v [имя_параметра] | /ve] [/s] [/f данные [/k] [/d] [/c] [/e]] [/t тип] [/z] [/se разделитель] Параметры командной строки: имя_раздела - может включать имя удаленного компьютера в формате \\компьютер\полное_имя_раздела . Если имя компьютера не задано, то по умолчанию используется текущий компьютер. На удаленных компьютерах доступны только разделы HKLM и HKU.полное_имя_раздела - путь в форме корневой_раздел\подраздел. Корневой раздел - [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел - полное имя раздела реестра в указанном корневом_разделе. /v - Запросы требуемых параметров в указанном разделе реестра. Если не указано, запрашиваются все параметры раздела. Аргумент этого параметра может быть необязательным, только если задан параметр /f. Это указывает на поиск только в именах параметров реестра. /ve - Запросы параметра по умолчанию или с пустым именем (по умолчанию). /s - Запрос всех вложенных подразделов и их параметров (аналогично команде dir /s). /se - Указание разделителя (длиной в 1 знак) в строке данных для REG_MULTI_SZ. По умолчанию в качестве разделителя используется "\0". /f - Данные или шаблон для поиска. Если строка содержит пробелы, заключайте ее в кавычки. Значение по умолчанию: "*". /k - Указывает на поиск только в именах разделов. /d - Указывает на поиск только в данных. /c - Указывает на учет регистра знаков при поиске. По умолчанию при поиске регистр знаков не учитывается. /e - Указывает на возврат только точных совпадений. По умолчанию возвращаются все совпадения. /t - Указывает тип данных параметра реестра. Допустимые типы: REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_NONE. По умолчанию будут использоваться все типы. /z - Подробности: отображение числового кода типа имени значения. Примеры: reg query /? - отобразить справку по использованию. REG QUERY HKLM\Software\Microsoft\ResKit /v Version - отобразить значение параметра реестра Version reg query \\SERVER\HKLM\Software\Microsoft\Windows\CurrentVersion\Run - отобразить содержимое раздела автоматически запускаемых программ для всех пользователей удаленного компьютера SERVER. Для успешного выполнения команды необходимо наличие соответствующих прав пользователя по отношению к удаленной системе и на удаленном компьютере должна быть запущена служба RemoteRegistry (Удаленный реестр). Пример отображаемой информации: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run RTHDVCPL REG_SZ "C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe" -s Acronis Scheduler2 Service REG_SZ "C:\Program Files (x86)\Common Files\Acronis\Schedule2\schedhlp.exe" COMODO Internet Security REG_SZ C:\Program Files\COMODO\COMODO Internet Security\cistray.exe StartCN REG_SZ "C:\Program Files\AMD\CNext\CNext\cnext.exe" atlogon 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 query hklm\system\currentcontrolset\control\safeboot /s /f "Adapter" /d - искать в данных строку Adapter в разделе реестра с параметрами безопасного режима загрузки Windows. REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Start Menu" - отобразить расположение папки ”Главное меню” текущего пользователя. REG QUERY HKCU\Console\ - отобразить параметры командной строки текущего пользователя. REG QUERY HKCU\Console /v ScreenColors - отобразить параметр, определяющий цвет фона и цвет символов окна командной строки текущего пользователя. Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /V ProductName - отобразить содержимое параметра реестра с названием Windows. Пример отображаемой информации при выполнении команды в среде Windows 10 Pro: ProductName REG_SZ Windows 10 Pro REG ADD - добавить или заменить существующий параметр реестра.Формат команды: REG ADD <имя_раздела> [/v <имя_параметра> | /ve] [/t <тип>] [/s <разделитель>] [/d данные>] [/f] [/reg:32 | /reg:64] Параметры командной строки: имя_раздела - [\\< компьютер >\]< раздел >. Компьютер — имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU. Раздел — КОРЕНЬ\< подраздел >. КОРЕНЬ — [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в указанном корневом разделе. /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 add /? - отобразить подсказку по использованию команды. REG ADD \\SERVER\HKLM\Software\MyCo - Добавляет раздел HKLM\Software\MyCo на удаленном компьютере SERVER 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%) REG add HKCU\Console /v ScreenColors /t REG_DWORD /d 0xf0 - изменить настройки консоли текущего пользователя – черные буквы на белом фоне. Для записи данных в уже существующий параметр реестра потребуется подтверждение на запрос: Параметр ScreenColors уже существует, заменить (Y - да/N - нет)? Для подавления запроса необходимо использовать параметр /f: REG add HKCU\Console /v ScreenColors /t REG_DWORD /d 0xf0 /f Нужно учитывать, что изменение отображения фона и цвета символов для текущего сеанса консоли не произойдет. Изменения будут применены при следующем запуске командной строки. REG DELETE - удалить существующий параметр реестра.Формат команды: REG DELETE <имя_раздела> [/v <имя_параметра> | /ve | /va] [/f] [/reg:32 | /reg:64] имя_раздела - [\\< компьютер >\]< раздел >. Компьютер — имя удаленного компьютера. Если оно опущено, то по умолчанию используется локальный компьютер. На удаленном компьютере доступны только корневые разделы HKLM и HKU. Раздел — КОРЕНЬ\< подраздел >. КОРЕНЬ — [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел — полное имя подраздела реестра в указанном корневом разделе. имя_параметра - Имя параметра, удаляемого из выбранного раздела. Если оно опущено, удаляются все подразделы и значения указанного раздела. /ve - Удаляет пустое имя параметра (по умолчанию). /va - Удаляет все параметры в указанном разделе. /f - Выполняет принудительное удаление без запроса подтверждения. /reg:32 - Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений. /reg:64 - Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений. Примеры: REG DELETE HKLM\Software\MyCo\MyApp\Timeout - Удаляет раздел реестра Timeout и все его подразделы и параметры. REG DELETE \\SERVER\HKLM\Software\MyCo /v MTU - Удаляет параметр реестра MTU из раздела MyCo на компьютере SERVER REG EXPORT - экспорт данных реестра в файл.Формат команды: REG EXPORT <имя_раздела> <имя_файла> [/y] [/reg:32 | /reg:64] имя_раздела - в виде КОРЕНЬ\< подраздел > (только локальный компьютер). КОРЕНЬ может быть [ HKLM | HKCU | HKCR | HKU | HKCC ]. Подраздел - полное имя подраздела реестра в одном из выбранных корневых разделов. имя_файла - путь и имя файла в который экспортируются данные реестра. /y - Выполнение замены существующего файла без запроса подтверждения. /reg:32 - Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений. /reg:64 - Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений. Примеры: REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg - Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg REG EXPORT HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.reg - экспорт параметров автоматического запуска приложений для всех пользователей системы. REG IMPORT - импорт данных реестра из файла.Формат команды: REG IMPORT <имя_файла> [/reg:32 | /reg:64] имя_файла - путь и имя файла с данными для импорта. Импорт возможен только для локального компьютера. Примеры: REG IMPORT AppBkUp.reg - Импорт записей реестра из файла AppBkUp.reg REG SAVE - сохранение данных реестра в файл.Формат команды: REG SAVE <имя_раздела> <имя_файла> [/y] [/reg:32 | /reg:64] имя_раздела - в виде КОРЕНЬ\<подраздел>. КОРЕНЬ может принимать значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел - Полное имя подраздела реестра в одном из выбранных корневых разделов. имя_файла - Путь и имя файла сохраняемых данных. Если путь не указан, то файл создается в текущей папке вызывающего процесса. /y - Выполнение замены существующего файла без запроса подтверждения. /reg:32 - Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений. /reg:64 - Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений. Примеры: REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv - Сохранение раздела реестра MyApp в файл AppBkUp.hiv текущей папки. REG SAVE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run C:\saved\autoruns.hiv - сохранение параметров автоматического запуска приложений для всех пользователей системы в файл autoruns.hiv в каталоге saved диска C:. REG RESTORE - восстановление данных реестра их файла.Для восстановления данных реестра используется содержимое файла, созданного при выполнении команды REG SAVE Формат команды: REG RESTORE <имя_раздела> <имя_файла> [/y] [/reg:32 | /reg:64] имя_раздела - в виде КОРЕНЬ\<подраздел>. КОРЕНЬ может принимать значения [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел - Полное имя подраздела реестра в одном из выбранных корневых разделов. имя_файла - Путь и имя файла, созданного при выполнении команды REG SAVE. Если путь не указан, то поиск файла выполняется в текущей папке вызывающего процесса. Пример: REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv - восстановить содержимое реестра из файла NTRKBkUp.hiv текущего каталога. Команды REG IMPORT/EXPORT и REG RESTORE/SAVE близки по назначению, однако используют разные форматы данных. REG LOAD - загрузка данных реестра из файла куста.Для загрузки используется файл куста реестра, полученный с помощью команды REG SAVE, или другой файл куста реестра, например, скопированный с другого компьютера. Формат командной строки: REG LOAD <имя_раздела> <имя_файла> [/reg:32 | /reg:64] имя_раздела в виде КОРЕНЬ\подраздел (только локальный компьютер). КОРЕНЬ может принимать только [ HKLM | HKU]. подраздел - Имя подраздела реестра, в который загружается файл куста. имя_файла - путь и имя файла куста, подлежащего загрузке. Примеры: REG LOAD HKLM\TempHive TempHive.hiv - Загрузка файла TempHive.hiv в раздел HKLM\TempHive Обычно, команда REG LOAD используется совместно с REG UNLOAD для изменения данных реестра, содержащихся в файле куста. REG LOAD HKU\TEMP "C:\Documents and Settings\Default User\NTUSER.DAT" - загрузить куст во временный раздел реестра. REG ADD HKU\TEMP\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v newUserProfile /t REG_EXPAND_SZ /d "D:\setup.cmd" /f - выполнить запись во временном разделе. REG UNLOAD HKU\TEMP - выгрузить временный раздел. При этом, выполненные изменения содержимого реестра будут сохранены в файле куста. Загрузка и выгрузка данных с использованием файлов кустов позволяет редактировать данные реестра поддерживаемого формата, в том числе и ”чужой” операционной системы. В качестве файлов кустов можно использовать файлы из каталога \Windows\System32\config\ сторонней Windows, что позволяет восстановить ее работоспособность в некоторых случаях, требующих изменения параметров реестра, при невозможности загрузки и использования собственного редактора. REG COMPARE - сравнение двух разделов данных реестра.Формат командной строки: REG COMPARE <имя_раздела_1> <имя_раздела_2> [/v <имя_параметра> | /ve] [вывод] [/s] [/reg:32 | /reg:64] имя_раздела в виде [\\< компьютер >\]< раздел >. компьютер имя_раздела в виде КОРЕНЬ\подраздел. Если имя раздела 1 не указано, то имя раздела 2 равно имени раздела 1. КОРЕНЬ - [ HKLM | HKCU | HKCR | HKU | HKCC ]. подраздел - Полное имя подраздела реестра в одном из выбранных корневых разделов. имя_параметра - Имя параметра реестра в выбранном разделе, подлежащее сравнению. Если опущено, то сравниваются все параметры в разделе. /ve - Сравнение параметров раздела с пустым именем (по умолчанию). /s - Сравнение всех подразделов и параметров. /reg:32 - Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений. /reg:64 - Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений. Вывод - формат выводимых различий - [/oa | /od | /os | /on] /oa - Вывод всех различий и совпадений. /od - Вывод только различий. /os - Вывод только совпадений. /on - Без вывода. Если Вывод не задан, то выводятся только различия. Код возврата: 0 - Успешно, сравниваемые данные идентичны 1 - При обработке произошла ошибка 2 - Успешно, сравниваемые данные отличаются Примечание: Символы в начале каждой строки читаются следующим образом: = данные FullKey1 равны данным FullKey2 < относится к данным FullKey1, если они отличаются от данных FullKey2 > относится к данным FullKey2, если они отличаются от данных FullKey1 Примеры: 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 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network /s - Сравнивает отличия параметров для безопасного режима загрузки и безопасного режима с поддержкой сети. REG COMPARE \\SERVER\HKLM\Software\MyCo \\. /s - Сравнивает все подразделы и значения параметров в разделе HKLM\Software\MyCo реестра на компьютере SERVER с аналогичным разделом на текущем компьютере. reg compare HKLM\Software\Microsoft\Windows\CurrentVersion\Run \\192.168.1.1\HKLM\Software\Microsoft\Windows\CurrentVersion\Run - Сравнивает список автоматически стартующих программ для всех пользователей локального компьютера и удаленного компьютера с IP адресом 192.168.1.1. Для успешного выполнения команды на удаленном компьютере должна быть запущена служба ”Удаленный реестр”. Пример отображаемой информации с результатами сравнения: < Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run WindowsDefender REG_EXPAND_SZ "%ProgramFiles%\Windows Defender\MSASCuiL.exe" > Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run RTHDVCPL REG_SZ "C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe" -s > Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run Acronis Scheduler2 Service REG_SZ "C:\Program Files (x86)\Common Files\Acronis\Schedule2\schedhlp.exe" > Параметр: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run COMODO Internet Security REG_SZ C:\Program Files\COMODO\COMODO Internet Security\cistray.exe Результат сравнения: не совпадают Операция успешно завершена. REG FLAGS - просмотр, установка и сброс флагов реестра.Формат командной строки: REG FLAGS имя_раздела [QUERY | [/reg:32 | /reg:64] REG FLAGS имя_раздела SET [DONT_VIRTUALIZE] [DONT_SILENT_FAIL] [RECURSE_FLAG]] [/reg:32 | /reg:64] имя_раздела - "HKLM\Software"[\подраздел] (ограничено этими разделами только на локальном компьютере). подраздел - полное имя раздела реестра в узле HKLM\Software. DONT_VIRTUALIZE DONT_SILENT_FAIL RECURSE_FLAG - Используется вместе с параметром SET; флаги, указанные в командной строке, будут установлены, не указанные — удалены. /reg:32 - Указывает, что к разделу реестра следует обращаться с помощью представления для 32-разрядных приложений. /reg:64 - Указывает, что к разделу реестра следует обращаться с помощью представления для 64-разрядных приложений. Примеры: reg flags HKLM\Software query - Отображает текущие флаги раздела HKLM\Software. Пример отображаемой информации о флагах: HKEY_LOCAL_MACHINE\Software REG_KEY_DONT_VIRTUALIZE: CLEAR REG_KEY_DONT_SILENT_FAIL: CLEAR REG_KEY_RECURSE_FLAG: CLEAR Операция успешно завершена. REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE /s - Устанавливает флаг DONT_VIRTUALIZE (и удаляет флаги DONT_SILENT_FAIL и RECURSE_FLAG) для раздела MyApp и всех его подразделов. Сетевые возможности команды REGПри наличии соответствующих прав, команду REG можно использовать для работы с реестром удаленных компьютеров. Для этого перед именем раздела реестра добавляется имя или IP-адрес компьютера:\\компьютер\параметр реестра... reg query \\win11-2\HKLM\SYSTEM\CurrentControlSet\control - отобразить информацию указанного раздела реестра на компьютере WIN11-2. На обоих компьютерах должна быть запущена служба ”Удаленный реестр” (RemoteRegistry). В современных ОС семейства Windows данная служба по умолчанию отключена: Службу необходимо включить и запустить. Для полноценной работы с удаленным реестром, необходимо наличие привилегий Администратора. Ниже приведено содержимое командного файла, выполняющего запись в реестр для группы компьютеров, список которых имеется в текстовом файле complist.txt @echo off REM Проверка наличия прав Администратора WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege" if %ERRORLEVEL% == 0 goto admin color C0 msg * Требуется запуск от имени Администратора. User - %USERNAME% exit REM Если есть права Администратора :admin COLOR 1F setlocal EnableDelayedExpansion REM Проверяем пингом включен ли компьютер REM Список включенных компьютеров формируется в файле complive.txt if exist %~DP0complive.txt erase %~DP0complive.txt FOR /F "tokens=1" %%i in (%~DP0complist.txt) do ( ping -4 -n 1 %%i | find /I "TTL" if !ERRORLEVEL! == 0 echo %%i >> %~DP0complive.txt ) REM set /A N=0 FOR /F "tokens=1" %%k in (%~DP0complive.txt) do ( reg add "\\%%k\HKLM\SYSTEM\CurrentControlSet\control" /v "SvcHostSplitThresholdInKB" /t REG_DWORD /d 0xF0000000 /f set /A N=!N! + 1 ) REM Ведется счетчик компьютеров, для которых выполнена запись в реестр msg console Сценарий выполнен для общего числа компьютеров - %N% endlocal exit |
|