Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Windows 7 Маленькие хитрости Примеры мониторинга системного реестра RSS

Примеры мониторинга системного реестра

Текущий рейтинг: 4.47 (проголосовало 51)
 Посетителей: 21659 | Просмотров: 28921 (сегодня 0)  Шрифт: - +

Введение

Более половины всех пользователей ПК в какой-то момент задумываются об автоматизации настроек своей операционной системы. Всем известно, что в операционных системах Windows централизованным хранилищем для большинства настроек самой системы и установленных приложений является системный реестр. В реестре хранятся сотни тысяч параметров, которые отвечают за различные настройки. Зная, что в разделе HKEY_CURRENT_USER расположены настройки учетной записи пользователя, в HKEY_LOCAL_MACHINE – настройки компьютера, а раздел HKEY_CLASSES_ROOT отвечает за запуск необходимой программы при открытии файла с помощью проводника, область поиска необходимого параметра сокращается, хотя найти нужный параметр все равно очень сложно. Использовать твикеры реестра не рекомендуется, так как они могут записывать в реестре ненужные разделы и параметры, а поиск в интернете ничего не дает. В этом случае вам следует воспользоваться программами, предназначенными для мониторинга реестра. В этой статье речь пойдет о RegShot и Process Monitor – утилите Sysinternals, предназначенной для мониторинга операционной системы Windows, которая в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков.

Использование программы RegShot

RegShot – это небольшая утилита, предназначенная для фиксации изменений в системном реестре операционных систем Windows. Эта утилита может делать снимки системного реестра, сравнивать два снимка и находить между ними все изменения. Все настройки программы сохраняются в файле конфигурации regshot.inf, а языковые настройки хранятся в файле language.inf. Основным преимуществом программы является то, что она не интегрируется в систему и не записывает в реестр никакой информации. Рассмотрим принципы работы этой утилиты на простом примере.

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

  1. Загрузите программу, перейдя по следующей ссылке, распакуйте содержимое архива и запустите файл regshot.exe;
  2. Перед тем как вы начнете вносить изменения в настройки браузера, сделайте первый снимок реестра, нажав на кнопку «1й снимок»;

  3. *

  4. После того как первый снимок будет сделан, откройте настройки браузера («Сервис» > «Свойства обозревателя» или введите inetcpl.cpl в поле поиска меню «Пуск» или в диалоге «Выполнить»). Перейдите на вкладку «Дополнительно», на опции «Подчеркивать ссылки» установите переключатель на «Никогда» и нажмите на кнопку «Применить»;

  5. *

  6. Вернитесь в программу RegShot и нажмите на кнопку «2й снимок» для создания снимка реестра с измененным параметром;

  7. *

    Программа RegShot позволяет сохранять изменения реестра в текстовый и в HTML форматы. Для того чтобы выбрать формат отчетов, установите переключатель на нужной опции в разделе «Сохранить файл отчетов как:».

    В утилите RegShot вы можете также указать путь для сохранения файлов. Для этого введите путь вручную в поле «Путь для сохранения» или воспользуйтесь кнопкой обзор для выбора папки при помощи диалогового окна «Обзор папок».

    После того как второй снимок реестра будет доделан нажмите на кнопку «Сравнить».

    *

  8. По завершению сравнения снимков реестра откроется программа установленная по умолчанию, предназначенная для открытия выбранного вами типа файла. В данном случае, так как был выбран текстовый формат, отчет открывается в программе «Блокнот». На следующем скриншоте выделены строки, отвечающие за изменение данной настройки.

  9. *
    Увеличить рисунок

После того как отчет будет сформирован вы можете очистить из буфера программы 1й, 2й снимок, а также очистить оба снимка сразу.

*

Отчет в формате HTML выглядит аккуратней и является более удобным, так как в нем строки со старым значением выделены зеленым цветом, для лучшего восприятия.

*
Увеличить рисунок

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

В данном случае должен получиться такой reg-файл:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Anchor Underline"="no"

Если вам нужно найти сразу несколько параметров реестра, отвечающих за разные настройки, лучше всего находить эти параметры поочередно.

Использование программы Process Monitor

Если утилита RegShot предназначена только для фиксации изменений в системном реестре, то утилита Process monitor от Sysinternals, которая написана на основе утилит FileMon и RegMon, предназначена для мониторинга операционной системы Windows. Она в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков. При помощи этой утилиты вы можете выполнять следующие действия:

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

и многое другое.

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

  1. Загрузите программу ProcessMonitor с сайта Sysinternals.com, распакуйте содержимое архива и запустите файл Procmon.exe. Для работы утилиты Process Monitor необходимо зайти под учетной записью, входящей в группу «Администраторы»;
  2. Перед запуском этой утилиты в первый раз отобразится диалоговое окно с лицензионным соглашением. Прочитайте его и нажмите на кнопку «Agree»;

  3. *

  4. В случае появления запроса контроля учетных записей пользователей предоставьте подтверждение.

  5. *

  6. В окне Process Monitor вы можете увидеть все изменения системы в режиме реального времени. Вы можете перетаскивать колонки, изменить их порядок и настроить отображение столбцов утилиты. Для этого в меню «Options» выберите команду «Select Columns» или нажмите правой кнопкой мыши на любом месте заголовка столбцов и в контекстном меню выберите команду «Select Columns». В рамках этой статьи я не буду акцентировать внимание на значении выбираемых столбцов.

  7. *
    Увеличить рисунок

  8. По умолчанию, утилита Process Monitor следит за системными файлами, реестром, процессами, сетевой активностью, а также за событиями профилирования. Так как в этом примере нужно проследить только за системным реестром, оставьте активной только кнопку «Show Registry Activity», как показано на следующем скриншоте:

  9. *

  10. Даже после того, как вы оставите только мониторинг системного реестра, вам будет трудно разобраться во всех создаваемых записях. Для облегчения поиска нужного параметра реестра и его значения, вам нужно настроить фильтр. Чтобы открыть диалоговое окно фильтра, выполните одно из следующих действий:
    • В меню «Filter» выберите команду «Filter»;
    • Воспользуйтесь комбинацией клавиш Ctrl+L;
    • Нажмите на кнопку «Filter» на панели инструментов программы.

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

  • EventClass – тип события, охватывающий один из основных классов событий (FileSystem, Network, Process, Profiling или Registry);
  • Operation – действия, которые выполняет система;
  • Process Name – имя процесса, за которым необходимо следить.

В этом примере будут использоваться только некоторые значения атрибута Operation. Краткое описание некоторых действий:

RegCloseKey – закрывает дескриптор указанного раздела реестра;

RegOpenKey – открывает дескриптор указанного раздела реестра;

RegCreateKey – создает дескриптор указанного раздела реестра;

RegQueryKey – возвращает значение параметров, связанных с открытым разделом реестра;

RegEnumKey – перечисляет подразделы указанного открытого раздела реестра;

RegDeleteKey – удаляет дескриптор указанного раздела реестра;

RegSetValue – изменяет значение указанного параметра реестра;

В диалоговом окне «Process Monitor Filter» для начала удалите все фильтры. Затем выполните следующие действия:

  • Из первого раскрывающегося списка выберите атрибут «EventClass». Во втором раскрывающемся списке оставьте значение «is». В третьем раскрывающемся списке выберите значение «File System», а затем выберите «Exclude». Нажмите на кнопку «Add».
  • Повторите эти действия для классов «Network», «Process» и «Profiling».

  • Из первого раскрывающегося списка выберите атрибут «Process Name». Во втором раскрывающемся списке оставьте значение «is». В третьем раскрывающемся списке введите имя процессов, за которыми нужно проследить. В этом примере мы будем следить за процессами iexplore.exe и opera.exe.
  • Из первого раскрывающегося списка выберите атрибут «Operation». Во втором раскрывающемся списке оставьте значение «is». В третьем раскрывающемся списке выберите значения, которые отображены на следующем скриншоте.

*

Также вместо того чтобы исключать некоторые действия, вы можете просто установить «Include» для действия «RegSetValue».

*

После того как нужные фильтры будут выбраны, нажмите на кнопку «ОК». Во время применения фильтров вы увидите следующий диалог:

*

Остановите мониторинг реестра до того как вам нужно будет проверять изменения. Для этого нажмите на кнопку «Capture» на панели инструментов, или воспользуйтесь комбинацией клавиш Ctrl+E. Очистите содержимое программы, нажав на кнопку «Clear» или при помощи комбинации клавиш Ctrl+X.

Если у вас установлен по умолчанию браузер Internet Explorer, откройте Opera и дождитесь появления диалога с предложением сделать его по умолчанию. После появления этого диалога перейдите в Process Monitor и включите мониторинг при помощи кнопки «Capture». Снова перейдите в Opera и установите его браузером по умолчанию.

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

*
Увеличить рисунок

Среди отобразившихся значений нетрудно заметить, что все изменения, которые относятся к установке браузера по умолчанию, хранятся в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts. Значение измененного параметра вы можете увидеть в столбце Details или открыв диалог свойств события:

*

В итоге получается следующий твик реестра:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.htm\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xhtm\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xhtml\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xht\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mht\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mhtml\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.http\UserChoice]
"Progid"="Opera.HTML"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.https\UserChoice]
"Progid"="Opera.HTML"
Автор: Dmitry_Bulanov  •  Иcточник: dimanb.spaces.live.com  •  Опубликована: 08.02.2010
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
08.02.2010/23:44  Vadikan

ЕМНИП, RegShot некорректно работает на 64-разрядных Vista/7 - виснет на HKLM.
Комментарии отключены. С вопросами по статьям обращайтесь в форум.