Windows – Основы работы с реестром – Утилита reg.exe | SafeZone

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 для изучения.

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

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

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

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

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

В этой статье я решил привести пример «издевательства» над собственной системой. Вначале, стоит обратить свое внимание на то, пути к каким программам прописаны в автозагрузке. Через меню Пуск доступна папка автозагрузка, но это лишь вершина айсберга, есть более верный способ просмотреть что находится в автозагрузке, например, используя утилиту, входящую в состав Windows – msconfig (Пуск/выполнить/msconfig). Реестр командная строка. Однако, мир не столь уж прост, и порой стоит прибегнуть к более продвинутым средствам, например утилита autoruns.exe. С ее помощью можно увидеть намного больше, на вкладке everything сразу бросаются в глаза различные разделы, в которых и прописано много чего интересного. Если не вникать в подробности, то для простого примера стоит обратить внимание на нижестоящие разделы:

Плюс, стоит бросить взгляд на раздел:

Раздел HKLM охватывает всех пользователей, a HKCU — только текущего. Создадим нового пользователя с правами администратора:

Net user NewUser password /add — создаем пользователя NewUser и присваиваем ему пароль password

Net localgroup Администраторы NewUser /add — добавляем новоиспеченного пользователя в группу Администраторы.

Стоит напомнить, что сервер сценариев Windows Script Host для работы с реестром предоставляет объект Wscript.Shell и его методы RegWrite, RegRead и RegDelete.

Теперь попробуем, произвести редактирование системного реестра из командной строки, чтобы изменить пароль пользователя NewUser используя ветку HKLM. Для этого стоит зайти в систему через свою учетную запись и создать батник следующего содержимого (текстовый файл с расширением .bat):

net user NewUser newpass

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

reg add HKLMSoftwareMicrosoftWindowsCurrentVersionRunOnce /v NewPass /t reg_sz /d c:Master.bat /f

В данном случае мы добавили в подраздел RunOnce новый параметр под названием NewPass со строковым типом reg_sz и прописали путь к нашему батнику. Теперь при входе в систему будет происходит запуск сценариях Master.bat, который в свою очередь изменит данные учетной записи.

Конечно, это не более чем простенький пример. Проблема в том, что редактировать реестр через командную строку стоит осмысленно, иначе, ваши действия могут принести совсем не тот результат, что ожидалось. Взять для примера печальную запись “Редактирование реестра запрещено администратором системы”, такую шалость производят, как правило, вирусы, если запрет был прописан в HKCU и вы являетесь администратором, то достаточно создать нового админ-пользователя, зайти через него в систему и открыв реестр, пробраться к нужному параметру:

HKEY_CURRENT_USERSSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem

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

REG DELETE HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableRegistryTools

Однако, подсунуть свинью можно и собственными силами. Есть такая утилита как regini, она позволяет назначать разрешения к тем или иным веткам реестра. Не знаю почему, но на Семерке по команде regini /? выводится полная справка, а вот в Windows XP SP3 — ничего. Так вот, синтаксис утилиты довольно прост:

regini.exe -m “компьютер” “путь к файлу сценария”

если утилита используется локально, то параметр -m «компьютер» не нужен. Всего есть 17 пунктов, и каждый определяет те или иные разрешения.

Утилиты msconfig и autoruns

Прежде всего, надо создать текстовый файл, в котором будет прописана нужная ветка и права для нее. Например, если в файле прописать строчку RegistryMachineSecurity [1 17], то администраторам и учетной записи локальной системы будут предоставлены права полного доступа к ветви реестра HKLMSECURITY. Но, эта утилита имеет один изъян — она затирает предыдущие права. Если посмотреть на разрешения для ветки SECURITY, то мы увидим, что полный доступ имеет только локальная система (SYSTEM), именно поэтому, под администратором вы не сможете просмотреть содержимое этого раздела. Редактируя реестр через командную строку, с использованием утилиты regini я решил дать для ветки SECURITY полный доступ для администратора (хотя это можно сделать в самом редакторе реестра), в файле сценария я прописал следующую строчку RegistryMachineSecurity [1]. Реестр командная строка.

Утилиту запустил, путь к сценарию прописал. И о чудо, я имею доступ к этой ветке, ни о чем не подозревая, я перезагрузил систему. Увидев надпись при загрузке «отсутствуют права доступа к файлу» или что-то в этом роде, я понял НАДО БЫЛО И ЛОКАЛЬНОЙ СИСТЕМЕ ДАТЬ ДОСТУП! Благо, что на другом винте стояла тоже ХР, правда не SP3 a SP2, я банально заменил весь реестр и о чудо, система заработала!

Спасибо за внимание. Автор блога

:/>  Что такое кодеки и для чего они нужны | Аудио- и видеокодеки — какой кодек выбрать

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