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

Windows – основы работы с реестром – утилита reg.exe

оглавление:
Основы работы с реестром
1)что такое реестр?
2)ситаксис,структура,назначение элементов реестра.
3)редактор реестра (regedit.exe)
4)синтаксис,структура reg-файла.
5)утилита reg.exe

утилита reg.exe

ранее мы ознакомились с редакцией реестра с помощью reg-файла.
теперь ознакомимся с утилитой reg.exe

Что требуется?
Запустить командную строку (cmd) от имени администратора-

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

Например ,если ваша операционная система поражена troyan winlok(баннер).

Основной синтаксис выглядит примерно так:

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

А,кстати!
Разделы реестра указываем по такому вот шаблону:

Ну,погнали…

Я не буду сильно оригинальничать и сразу же обращусь к справке cmd,запустив командную строку и введя команду reg /?
Тут же я увидел все команды,о доступности которых мне радостно сообщила справка консоли)))

REG <операция> [Список параметров]

<операция> [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]

Код возврата: (за исключением REG COMPARE)

0 – Успешно
1 – С ошибкой

А теперь рассмотрим все это счастье более детально.

Утилита reg.exe предоставляет нам широчайшие возможности для работы с реестром.
Основной список используемых команд таков:

    • 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 QUERY

Как правило используется для реализации поиска по реестру.

REG ADD

Эта команда используется для добавления разделов реестра,параметров и значений параметров.

REG DELETE

Эта команда используется для удаления разделов,параметров и значений параметров реестра.

REG COPY

Эта команда используется для копирования разделов ,параметров и значений параметров реестра в другие разделы,параметры и значения параметров реестра.

REG SAVE

Эта команда необходима для того,что бы сохранить разделы реестра в hiv файл.

REG RESTORE

Эта команда поможет восстановить раздел реестра из файла .hiv

REG LOAD

Эта команда поможет загрузить в раздел реестра данные из файлов .hiv

REG UNLOAD

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

REG COMPARE

Эта замечательная команда позволяет выполнить сравнение данных в реестре.

Синтаксис команды:

REG COMPARE <имя_раздела_1> <имя_раздела_2> [/v <имя_параметра> | /ve] [вывод] [/s]

имя_раздела [\<компьютер>]<раздел>
компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
имя_раздела КОРЕНЬ<подраздел>
Если имя раздела 1 не указано, то имя раздела 2 равно имени раздела 1.
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.

имя_параметра Имя параметра в выбранном разделе, подлежащее сравнению.
Если опущено, то сравниваются все параметры в разделе.

Код возврата:

0 – Успешно, сравниваемые данные идентичны
1 – При обработке произошла ошибка
2 – Успешно, сравниваемые данные отличаются

Примечание:
Символы в начале каждой строки читаются следующим образом:
= данные FullKey1 равны данным FullKey2
< относится к данным FullKey1, если они отличаются от данных FullKey2
> относится к данным FullKey2, если они отличаются от данных FullKey1

Пример:
REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp
Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp

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

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

REG EXPORT

Ну а с помощью этой команды мы можем выполнить экспорт разделов реестра.

REG IMPORT

С помощью этой команды выполняется импорт файлов реестра.

REG FLAGS

Эта команда предназначена для работы с флагами реестра.

Виртуализация каталогов реестра с помощью утилиты REG
_________________________________________________________

Важно!!!

Операционная система Windows 7 с включенным механизмом UAC поддерживает новую возможность, называемую виртуализацией каталогов и разделов реестра. Она позволяет решить проблему установки приложений учетными записями пользователей, которые не имеют административных прав (точнее, не имеют прав на модификацию определенных разделов реестра и каталогов).

Виртуализация реестра.
Если механизм виртуализации включен, то при попытке какой-либо программы модифицировать раздел реестра, находящийся в разделе HKLMSOFTWARE, доступ к которой запрещен текущему пользователю, операционная система перенаправляет запрос программы в раздел реестра HKCUSoftwareClassesVirtualStoreMACHINE и выполняет модификацию в нем.

Например, если программа пытается записать данные в раздел: HKLMSOFTWAREprogram_folder,то операционная система перенаправляет ее в раздел:
HKCUSoftwareClassesVirtualStoreMACHINESoftwareprogram_folder.

При последующих запусках программы она будет работать с данными, хранящимися не в разделе реестра, доступ к которому пользователю запрещен, а в разделе реестра
HKCUSoftwareClassesVirtualStoreMACHINE.

Виртуализация каталогов.
Аналогично механизм виртуализации работает и с папками. Только в этом случае операционная система перенаправляет запрос программы в каталог вида:
%userprofile%AppDataLocalVirtualStore.

Виртуализация каталогов действует для следующих папок операционной системы: %ProgramFiles%, %Windir%; %Windir%system32.

Отключение механизма виртуализации.
_________________________________________________

Если вы обладаете административными правами, то можете запретить механизм виртуализации каталогов и разделов реестра, реализованный в операционной системе Windows 7. После этого действия попытка записи программы в запрещенный для записи раздел реестра или каталог будет вызывать ошибку и прекращение работы программы.

Чтобы запретить механизм виртуализации, нужно запустить консоль gpedit.msc, перейти к разделу:
Конфигурация компьютера/Конфигурация Windows/Параметры безопасности/Локальные политики/Параметры безопасности
и в контекстном меню политики
Контроль учетных записей: при сбоях записи в файл или реестр виртуализация в размещение пользователя выбрать команду Свойства. После этого в появившемся окне нужно установить переключатель в положение Отключен.

Чтобы отключить механизм виртуализации при помощи реестра, нужно параметру REG_DWORD-типа EnableVirtualization, расположенному в разделе реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem, присвоить значение 0.

Использование нескольких команд
_______________________________________

Можно использовать одновременно несколько команд, используя между ними специальный разделитель – символы &&, при этом все сочетание нескольких команд должно быть заключено в кавычки, например, “команда&&команда&& команда”.

Применение команд утилиты REG.EXE к
разделам и параметрам реестра имеющим пробелы

________________________________________________

Наверняка вы столкнулись с такой проблемкой:

И получаем такую вот дулю:

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

И вот уже результат веселее:

Если что то не понятно или нужна справка под рукой
_______________________________________________________

Если у вас после прочтения возникли трудности с использованием данной информации-создайте новую тему и задайте ваш вопрос,вам окажут помощь в решении проблемы.

Если нужна справка, а статьи под рукой нет-воспользуйтесь справкой cmd (команда_ /? )

Справка по утилите reg.exe (команда: reg.exe /?)

А вот,например справка по команде REG QUERY.

Водим такую команду:
REG QUERY /?

Получаем вот такой подробный список:

Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:WindowsSystem32>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. По умолчанию в качестве разделителя используется
              "".

  /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 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

C:WindowsSystem32>

Использование утилиты reg.exe в cmd скриптах

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

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

Можно сделать это вручную через редактор реестра.
Можно использовать несколько команд reg.exe по очереди.
Но в данном случае нам пригодится такой скрипт:

Утилиту reg.exe можно с пользой использовать при написании разного рода скриптов.

Заострять внимание на том,как научиться писать скрипты самостоятельно в этой теме я не стану,могу лишь порекомендовать команду help для изучения.

Если в процессе чтения или при неудачных попытках применить полученную информацию в теме вы столкнулись с какими нибудь сложностями -то можете задавать свои вопросы в этом разделе.

§

оглавление:
Основы работы с реестром
1)что такое реестр?
2)ситаксис,структура,назначение элементов реестра.
3)редактор реестра (regedit.exe)
4)синтаксис,структура reg-файла.
5)утилита reg.exe

утилита reg.exe

ранее мы ознакомились с редакцией реестра с помощью reg-файла.
теперь ознакомимся с утилитой reg.exe

Что требуется?
Запустить командную строку (cmd) от имени администратора-

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

Например ,если ваша операционная система поражена troyan winlok(баннер).

Основной синтаксис выглядит примерно так:

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

А,кстати!
Разделы реестра указываем по такому вот шаблону:

Ну,погнали…

Я не буду сильно оригинальничать и сразу же обращусь к справке cmd,запустив командную строку и введя команду reg /?
Тут же я увидел все команды,о доступности которых мне радостно сообщила справка консоли)))

REG <операция> [Список параметров]

<операция> [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]

Код возврата: (за исключением REG COMPARE)

0 – Успешно
1 – С ошибкой

А теперь рассмотрим все это счастье более детально.

Утилита reg.exe предоставляет нам широчайшие возможности для работы с реестром.
Основной список используемых команд таков:

    • 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 QUERY

Как правило используется для реализации поиска по реестру.

REG ADD

Эта команда используется для добавления разделов реестра,параметров и значений параметров.

REG DELETE

Эта команда используется для удаления разделов,параметров и значений параметров реестра.

REG COPY

Эта команда используется для копирования разделов ,параметров и значений параметров реестра в другие разделы,параметры и значения параметров реестра.

REG SAVE

Эта команда необходима для того,что бы сохранить разделы реестра в hiv файл.

REG RESTORE

Эта команда поможет восстановить раздел реестра из файла .hiv

REG LOAD

Эта команда поможет загрузить в раздел реестра данные из файлов .hiv

REG UNLOAD

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

REG COMPARE

Эта замечательная команда позволяет выполнить сравнение данных в реестре.

Синтаксис команды:

REG COMPARE <имя_раздела_1> <имя_раздела_2> [/v <имя_параметра> | /ve] [вывод] [/s]

имя_раздела [\<компьютер>]<раздел>
компьютер Имя удаленного компьютера, если оно опущено, по умолчанию используется локальный компьютер. На удаленном компьютере можно использовать только корневые разделы HKLM и HKU.
имя_раздела КОРЕНЬ<подраздел>
Если имя раздела 1 не указано, то имя раздела 2 равно имени раздела 1.
КОРЕНЬ [ HKLM | HKCU | HKCR | HKU | HKCC ]подраздел Полное имя подраздела реестра в одном из выбранных корневых разделов.

имя_параметра Имя параметра в выбранном разделе, подлежащее сравнению.
Если опущено, то сравниваются все параметры в разделе.

Код возврата:

0 – Успешно, сравниваемые данные идентичны
1 – При обработке произошла ошибка
2 – Успешно, сравниваемые данные отличаются

Примечание:
Символы в начале каждой строки читаются следующим образом:
= данные FullKey1 равны данным FullKey2
< относится к данным FullKey1, если они отличаются от данных FullKey2
> относится к данным FullKey2, если они отличаются от данных FullKey1

Пример:
REG COMPARE HKLMSoftwareMyCoMyApp HKLMSoftwareMyCoSaveMyApp
Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp

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

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

REG EXPORT

Ну а с помощью этой команды мы можем выполнить экспорт разделов реестра.

REG IMPORT

С помощью этой команды выполняется импорт файлов реестра.

REG FLAGS

Эта команда предназначена для работы с флагами реестра.

Виртуализация каталогов реестра с помощью утилиты REG
_________________________________________________________

Важно!!!

Операционная система Windows 7 с включенным механизмом UAC поддерживает новую возможность, называемую виртуализацией каталогов и разделов реестра. Она позволяет решить проблему установки приложений учетными записями пользователей, которые не имеют административных прав (точнее, не имеют прав на модификацию определенных разделов реестра и каталогов).

Виртуализация реестра.
Если механизм виртуализации включен, то при попытке какой-либо программы модифицировать раздел реестра, находящийся в разделе HKLMSOFTWARE, доступ к которой запрещен текущему пользователю, операционная система перенаправляет запрос программы в раздел реестра HKCUSoftwareClassesVirtualStoreMACHINE и выполняет модификацию в нем.

Например, если программа пытается записать данные в раздел: HKLMSOFTWAREprogram_folder,то операционная система перенаправляет ее в раздел:
HKCUSoftwareClassesVirtualStoreMACHINESoftwareprogram_folder.

При последующих запусках программы она будет работать с данными, хранящимися не в разделе реестра, доступ к которому пользователю запрещен, а в разделе реестра
HKCUSoftwareClassesVirtualStoreMACHINE.

Виртуализация каталогов.
Аналогично механизм виртуализации работает и с папками. Только в этом случае операционная система перенаправляет запрос программы в каталог вида:
%userprofile%AppDataLocalVirtualStore.

Виртуализация каталогов действует для следующих папок операционной системы: %ProgramFiles%, %Windir%; %Windir%system32.

Отключение механизма виртуализации.
_________________________________________________

Если вы обладаете административными правами, то можете запретить механизм виртуализации каталогов и разделов реестра, реализованный в операционной системе Windows 7. После этого действия попытка записи программы в запрещенный для записи раздел реестра или каталог будет вызывать ошибку и прекращение работы программы.

Чтобы запретить механизм виртуализации, нужно запустить консоль gpedit.msc, перейти к разделу:
Конфигурация компьютера/Конфигурация Windows/Параметры безопасности/Локальные политики/Параметры безопасности
и в контекстном меню политики
Контроль учетных записей: при сбоях записи в файл или реестр виртуализация в размещение пользователя выбрать команду Свойства. После этого в появившемся окне нужно установить переключатель в положение Отключен.

Чтобы отключить механизм виртуализации при помощи реестра, нужно параметру REG_DWORD-типа EnableVirtualization, расположенному в разделе реестра HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem, присвоить значение 0.

Использование нескольких команд
_______________________________________

Можно использовать одновременно несколько команд, используя между ними специальный разделитель – символы &&, при этом все сочетание нескольких команд должно быть заключено в кавычки, например, “команда&&команда&& команда”.

Применение команд утилиты REG.EXE к
разделам и параметрам реестра имеющим пробелы

________________________________________________

Наверняка вы столкнулись с такой проблемкой:

И получаем такую вот дулю:

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

И вот уже результат веселее:

Если что то не понятно или нужна справка под рукой
_______________________________________________________

Если у вас после прочтения возникли трудности с использованием данной информации-создайте новую тему и задайте ваш вопрос,вам окажут помощь в решении проблемы.

Если нужна справка, а статьи под рукой нет-воспользуйтесь справкой cmd (команда_ /? )

Справка по утилите reg.exe (команда: reg.exe /?)

А вот,например справка по команде REG QUERY.

Водим такую команду:
REG QUERY /?

Получаем вот такой подробный список:

Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:WindowsSystem32>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. По умолчанию в качестве разделителя используется
              "".

  /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 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

C:WindowsSystem32>

Использование утилиты reg.exe в cmd скриптах

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

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

Можно сделать это вручную через редактор реестра.
Можно использовать несколько команд reg.exe по очереди.
Но в данном случае нам пригодится такой скрипт:

Утилиту reg.exe можно с пользой использовать при написании разного рода скриптов.

Заострять внимание на том,как научиться писать скрипты самостоятельно в этой теме я не стану,могу лишь порекомендовать команду help для изучения.

Если в процессе чтения или при неудачных попытках применить полученную информацию в теме вы столкнулись с какими нибудь сложностями -то можете задавать свои вопросы в этом разделе.

Inf-файл

Импортировать параметры в реестр можно и при помощи INF-файлов. Их общий синтаксис несколько сложнее, чем у REG-файлов, но непосредственно запись в реестр осуществляется достаточно просто. Ниже приводится пример из аддона Msgina

[Version]
Signature="$Windows NT$"

[Optional Components]
Msgina

[Msgina]
OptionDesc="Msgina"
Tip="Библиотека GINA входа в систему"
Modes=0,1,2,3
AddReg=Msgina.AddReg

[Msgina.AddReg]
HKLM,"SoftwarePoliciesMicrosoftWindowsSystemShutdown","ShowHibernateButton",0x10001,1
HKLM,"SoftwarePoliciesMicrosoftWindowsSystemShutdown","HibernateAsButton",0x10001,1

Примечание. Дополнительную информацию об INF-файлах можно найти в подробном руководстве.

Reg add

Данная команда добавляет в выбранный раздел реестра указанные пользователем параметры. Общий синтаксис этой директивы выглядит следующим образом:

REG ADD <Раздел> [\<компьютер>]<путь> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]

В составе директивы могут использоваться следующие параметры:

  • Раздел – полный путь к редактируемому разделу реестра в формате [\<компьютер>]<путь>, где <компьютер> – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. Путь – полный путь к целевому разделу реестра в виде кореньключподраздел, где корень – сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключподраздел – полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.

  • /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. По умолчанию разделитель имеет вид «».

  • /d <данные> – значение, присваиваемое добавляемому параметру реестра.

  • /f – перезаписывать уже существующие в реестре параметры и значения, замещая их указанными в командной строке, без демонстрации предупреждений.

Примеры использования:

REG ADD \NetCompHKLMSoftwareNewSubkey

Добавляет подраздел NewSubkey в раздел реестра HKLMSoftware на удаленном компьютере NetComp.

REG ADD HKLMSoftwareNewSubkey /v Value1 /t REG_SZ /d ac23456ffed

Добавляет в подраздел локального реестра HKLMSoftwareNewSubkey параметр с именем Value1 типа REG_SZ, и присваивает ему значение ac23456ffed.

REG ADD HKLMSoftwareNewSubkey /v Path /t REG_EXPAND_SZ /d %%systemroot%%System32

Добавляет в подраздел локального реестра HKLMSoftwareNewSubkey параметр с именем Path типа REG_EXPAND_SZ, и присваивает ему значение %systemroot%System32

ПРИМЕЧАНИЕ

В случае записи в командной строке для директивы REG стандартных переменных окружения Windows, необходимо использовать для их выделения дополнительный символ «%» (%%переменная%%)

Reg compare

Эта команда позволяет выполнить операцию сравнения двух разделов реестра. Стандартный формат записи этой команды выглядит следующим образом:

REG COMPARE <раздел1> <раздел2> [/v <параметр> | /ve] [<вывод>] [/s]

В составе директивы могут использоваться следующие параметры:

В отличие от других процедур команды REG, директива REG COMPARE имеет не два, а три различных кода возврата: 0 – процедура выполнена успешно, сравниваемые данные идентичны; 1 – в процессе выполнения процедур произошла ошибка; 2 – процедура выполнена успешно, сравниваемые данные различаются.

Примеры использования:

REG COMPARE HKLMSoftwareProgApp HKLMSoftwareProg

Сравнивает содержимое подразделов реестра HKLMSoftwareProgApp и HKLMSoftwareProg.

REG COMPARE HKLMSoftwareProgApp HKLMSoftwareProg /v Value1

Сравнивает значение параметров с именем Value1, один из которых хранится в разделе HKLMSoftwareProgApp, а другой – в разделе HKLMSoftwareProg локального реестра.

REG COMPARE \SERVERHKLMSoftwareMicrosoft \. /s

Сравнивает содержимое подраздела реестра HKLMSoftwareMicrosoft, хранящегося на удаленном компьютере SERVER, с аналогичным разделом реестра локального компьютера.

Reg copy

С использованием команды REG COPY можно скопировать разделы, подразделы и параметры из одного раздела реестра в другой, как на локальном компьютере, так и по сети. Общий синтаксис этой директивы выглядит следующим образом:

REG COPY <раздел1> <раздел2> [/s] [/f]

В составе директивы могут использоваться следующие параметры:

Примеры использования:

REG COPY HKLMSoftwareProgram HKLMSoftwareRestore /s

Скопировать все содержимое раздела реестра HKLMSoftwareProgram в раздел HKLMSoftwareRestore.

REG COPY \SERVERHKLMSoftwareMicrosoft HKLMSoftwareServer

Скопировать все параметры раздела реестра HKLMSoftwareMicrosoft с удаленного компьютера Server в раздел HKLMSoftwareServer локального компьютера.

Reg delete

С использованием данной команды выполняется удаление из реестра указанного ключа, подраздела или параметра. Общий синтаксис этой директивы выглядит следующим образом:

REG DELETE [Компьютер]Путь [/v Параметр | /ve | /va] [/f]

В составе директивы могут использоваться следующие параметры:

  • Компьютер – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере. На удаленном компьютере возможно обращаться только к разделам реестра HKLM и HKU.

  • Путь – полный путь к целевому разделу реестра в виде кореньключподраздел, где корень – сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключподраздел – полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.

  • /v <параметр> – удаление параметра с указанным именем. Если имя опущено, из данного раздела будут удалены все содержащиеся в нем параметры.

  • /ve – удалять все безымянные параметры, содержащиеся в данном разделе.

  • /va – запрашивать все параметры из данного раздела реестра.

  • /f – выполнять удаление без дополнительного предупреждения.

Примеры использования:

REG DELETE HKLMSoftwareNewSubkey

Удаляет подраздел NewSubkey вместе со всем его содержимым из раздела реестра HKLMSoftware.

REG DELETE HKLMSoftwareProg /v PARAM /f

Без предварительного подтверждения удаляет параметр PARAM из раздела реестра HKLMSoftwareProg.

Reg export

Команда REG EXPORT позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .reg, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:

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

В составе директивы могут использоваться следующие параметры:

Примеры использования:

REG EXPORT HKLMSoftwareAdobe Adobe.reg

Экспортирует подраздел реестра HKLMSoftwareAdobe вместе со всем его содержимым в файл Adobe.reg, создаваемый в текущей папке.

Reg import

Директива REG IMPORT импортирует содержимое REG-файла в реестр Windows. Данный файл может храниться только на локальном компьютере. Формат записи:

REG IMPORT <имя файла>

Где <имя файла> – имя и путь к локальному REG-файлу на данном компьютере.

Пример использования:

REG IMPORT C:system.reg

Импортирует в реестр содержимое файла system.reg, хранящегося на диске C:.

К разделу

Reg load

Действие команды REG LOAD в целом аналогично директиве REG RESTORE, с тем лишь исключением, что данная команда загружает ранее сохраненные в файле .hiv данные только в те ветви реестра, которые хранятся в оперативной памяти компьютера в ходе всего сеанса работы пользователя с операционной системой, то есть в дочерние разделы и подразделы ветвей HKLM и HKU.

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

В составе директивы могут использоваться следующие параметры:

Примеры использования:

REG LOAD HKLMSoftwareNewKey MSBackup.hiv

Загружает данные из файла MSBackup.hiv в подраздел реестра HKLMSoftwareNewKey.

Reg query

Команда REG QUERY отправляет в системный реестр Windows запрос о содержимом ветвей, ключей, подразделов или параметров, и выводит на экран результат обработки этих запросов. В общем виде синтаксис данной команды записывается следующим образом:

REG QUERY [Компьютер]Путь [/v Параметр | /ve] [/s]

В составе директивы могут использоваться следующие параметры:

  • Компьютер – имя компьютера в локальной сети, если директива предназначена для обработки на удаленном компьютере. В случае, если этот параметр опущен, команда выполняется на локальном компьютере.

  • Путь – полный путь к целевому разделу реестра в виде кореньключподраздел, где корень – сокращенное обозначение ветви реестра (HKLM, HKCU, HKCR, HKU или HKCC), а ключподраздел – полный путь к искомому подразделу в иерархии реестра, включая все вложенные подразделы.

  • /v – запрос о содержимом указанного раздела реестра.

  • Параметр – вывести имя и значение запрашиваемого параметра в указанном разделе.

  • /ve – запрос стандартного параметра с пустым именем.

  • /s – вывести список всех подразделов данного раздела реестра вместе с их содержимым.

Примеры использования:

REG QUERY HKCCSoftvareMicrosoftwindowsCurrentVersionInternet Settings /v ProxyEnable

Показывает имя и значение параметра ProxyEnable в разделе реестра HKCCSoftvareMicrosoftwindowsCurrentVersionInternet Settings

REG QUERY HKLMSoftwareMicrosoftOffice /s

Показать список всех подразделов и содержащихся в них параметров для раздела реестра HKLMSoftwareMicrosoftOffice.

Reg restore

С использованием этой команды можно восстановить поврежденный ключ, раздел или подраздел реестра из файла .hiv, созданного ранее командой REG SAVE. В процессе восстановления все существующие в указанном разделе подразделы и параметры реестра перезаписываются. Стандартный формат данной команды таков:

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

В составе директивы могут использоваться следующие параметры:

Примеры использования:

REG RESTORE HKLMSoftwareMicrosoft MSBackup.hiv

Восстанавливает подраздел реестра HKLMSoftwareMicrosoft из ранее сохраненного на диске файла MSBackup.hiv, перезаписывая все содержимое указанного раздела.

Reg save

Команда REG SAVE позволяет сохранить выбранный ключ или подраздел реестра вместе с хранящимися в нем параметрами на диск в файл с расширением .hiv, который впоследствии может быть импортирован в реестр. Стандартный формат записи этой команды выглядит следующим образом:

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

В составе директивы могут использоваться следующие параметры:

Примеры использования:

REG SAVE HKCCSystemCurrentControlSet ControlSet.hiv

Сохраняет подраздел реестра HKCCSystemCurrentControlSet вместе со всем его содержимым в файл ControlSet.hiv, создаваемый в текущей папке.

Reg unload

Директива REG UNLOAD выгружает из памяти локального компьютера хранящиеся там данные реестра, отображающиеся в иерархической структуре реестра в виде разделов и подразделов ветвей HKLM и HKU. Формат записи:

REG UNLOAD <раздел>

В составе директивы могут использоваться следующие параметры:

Примеры использования:

REG UNLOAD HKLMSoftware

Выгружает из памяти компьютера содержимое ветви реестра HKLMSoftware.

Двойной щелчок мыши

Как это ни тривиально звучит, но двойным щелчком мыши на REG-файле можно внести изменения в реестр. Правда, сначала система уточнит, действительно ли вы хотите это сделать. В случае положительного ответа изменения будут внесены.

Редактирование реестра Windows из командной строки, bat-файлы — mirAdmin
Рисунок 3 – Система запрашивает подтверждение на внесение изменений.

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

Добавление и изменение параметров ключей в реестре windows

Мы уже рассматривали пример настроек параметров Windows через добавление записей реестра в статьях Открытие проводника Windows 10 на закладке Этот компьютер и Автозагрузка. Добавление приложений в автозагрузку Windows.

Другие редакторы реестра

Существует великое множество программ для внесения изменений в системный реестр, которые также обладают возможностью экспорта параметров. Если Вы часто работаете с реестром, то Вам, наверняка, пригодится программа, обладающая адресной строкой. В адресную строку можно вставить скопированный (из статьи или из сообщения на форуме) раздел реестра и быстро перейти к нужному параметру. Примером такой программы может служить RegWorks.

Запуск нескольких копий редактора реестра. ключи командной строки regedit.exe

Сергей Ткаченко

Подчас бывает удобно запустить пару экземпляров редактора реестра, когда вы работаете сразу с несколькими ветками. Ваш покорный слуга всегда запускает два редактора, когда требуется перенести, к примеру, какие-либо параметры групповой политики с HKLM в HCKU, либо продублировать значения текущей ветки в другую. В этой статье вас ждет полный перечень ключей командной строки редактора реестра, включая пару канувших в лету.

Опции командной строки редактора реестра regedit.exe

Код: Выделить всё
regedit.exe -m

Запуск нескольких экземпляров редактора реестра. Без этого ключа редактор реестра можно запустить только один раз.

Код: Выделить всё
regedit.exe диск:путьк_файлу.reg

Интерактивный импорт файла реестра. Это – действие по умолчанию для REG-файлов, когда вы выполняете двойной щелчок по ним. При этом появляется подтверждение на внесение изменений в реестр.

 Код: Выделить всё
regedit.exe /s диск:путьк_файлу.reg

Тихий импорт файла реестра. Подтверждения в этом случае не появляется, импорт выполняется сразу.

Код: Выделить всё
regedit.exe /e диск:путьк_файлу.reg

Экспортировать реестр целиком в указанный файл. Экспорт выполняется также в “тихом” режиме, без взаимодействия с пользователем и без диалоговых окон. Чтобы экспортировать конкретный раздел, используйте команду вида:

Код: Выделить всё
regedit /e диск:путьк_файлу.reg “HKEY_CURRENT_USERControl PanelDesktop”

По умолчанию regedit.exe, начиная с Windows 2000, во время экспорта ключей реестра создает REG-файлы в кодировке UNIСODE. Это поведение можно переопределить, указав вместо ключа /a ключ /e.

Код: Выделить всё
regedit /a диск:путьк_файлу.reg “HKEY_CURRENT_USERControl PanelDesktop”

В результате файл будет в кодировке win1251 и с таким заголовком:

Код: Выделить всё
REGEDIT4
[HKEY_CURRENT_USERControl PanelDesktop]
“ActiveWndTrackTimeout”=dword:00000000

В Windows 9x редактор реестра принимал ещё три ключа:

Код: Выделить всё
regedit.exe /L:диск:путьк_файлуuser.dat

Выполнять операции над альтернативным файлом с пользовательской веткой реестра (HKCU).

Код: Выделить всё
regedit.exe /R:диск:путьк_файлуsystem.dat


Выполнять операции над альтернативным файлом с веткой реестра HKLM.

Код: Выделить всё
regedit.exe /D “HKEY_CURRENT_USERControl PanelDesktop”
Удалить из реестра указанный раздел.

В настоящее время все три ключа являются устаревшими и не работают.

Запуск редактора реестра при помощи команды выполнить

  • Запускаем утилиту Выполнить, перейдя в ПускВсе программыСтандартные (в Windows 10 утилита Выполнить находится в каталоге Служебные), либо зажав на клавиатуре клавиши Пуск (на некоторых клавиатурах она отмечается как Win) и R
  • В открывшемся окне вбиваем команду
    regedit

    и жмём на клавишу Enter

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

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

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

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

Определение и запуск системного реестра windows

Определений термина реестр Windows можно дать множество, приведём относительно простое и доступное для понимания:

Системный реестр Windows – это база данных настроек и параметров операционной системы, имеющая древовидную структуру

То есть, огромное количество пользовательских и системных настроек ОС отражаются в этой виртуальной среде.

Виртуальным реестр можно считать потому, что он лишь упорядочивает и структурирует данные, которые физически хранятся в системных файлах на информационном носителе компьютера или формируются непосредственно в момент запуска 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

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

Создание бэкапа реестра

Экспорт ветки реестра
Для создания бэкапа раздела реестра мы воспользуемся функцией экспорта в стандартной утилите regedit.

  1. Запускаем редактор реестра командой regedit из окна Выполнить или запуском одноимённого исполнительного файла из проводника (способы описаны выше)
  2. Правой кнопкой мыши жмём на нужный раздел и выбираем пункт Экспортировать
  3. В появившемся окне выбираем каталог для сохранения файла бэкапа, вносим имя файла и нажимаем кнопку Сохранить.

Терминология

Прежде чем перейти к делу, нужно определиться с терминологией. В статьях о твиках реестра, размещенных на сайте автоустановки, используется официальная терминология Microsoft, поэтому термины вполне соответствуют элементам редактора реестра.

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

Как видите, здесь нет никаких “веток” и “ключей”. Теперь к делу.

Типы данных реестра

Ключи реестра в Windows могут быть различных типов, не станем углубляться в особенности каждого из них, рядовому пользователю это знать не обязательно, просто приведём их ниже:

– Строковый параметр- Двоичный параметр- Параметр DWORD (32 бита)- Параметр QWORD (64 бита)- Мультистроковый параметр- Расширяемый строковый параметр

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

Удаление записей из системного реестра windows

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

Отсюда можно сделать вывод, что процесс редактирования реестра делится на несколько типов:

  • изменение параметров существующих ключей;
  • добавление ключей в реестр с присвоением им нужного значения;
  • удаление из реестра лишних ключей или даже кустов.

Сразу пройдёмся по последнему пункту, касаемо удаления записей из реестра.Чаще всего это бывает нужно после удаления софта для чистки хвостов. Дело в том, что некоторые программы, работающие в Windows среде, при установке и в процессе работы активно взаимодействуют с реестром системы, добавляя туда записи с технической информацией.

Вирусы в реестре WindowsПосле всего вышесказанного у кого-то может возникнуть резонный вопрос: зачем вообще чистить реестр от ненужных записей?
Ответ прост: во-первых, иногда оставшиеся записи в реестре после удаления программы мешают повторной установке того же софта; во-вторых, записи реестра хранятся в файлах большого объёма, увеличение которого негативно сказывается на фрагментации жесткого диска и отзывчивости системы.

Ещё одной причиной для чистки реестра может послужить обнаружение в нём записей о вредоносных программах. Такими зловредами могут быть и баннерные вирусы, и трояны, и рекламные ссылки, терроризирующие пользователя постоянным запуском заданных web-страниц в браузере.

:/>  Как настроить цвет границы и тени окна в Windows 10.

Оставьте комментарий