Всем доброго дня! Подскажите плиз по такой проблеме:
Нужно найти в определенном разделе реестра винды ключ с нужным значением (нужен именно павершелл т.к. нужно будет использовать данный скрипт для поиска в разных ситуациях разных значений)
Нагуглить часть ответа несложно:
Допустим мне нужно найти некое USB устройство, в ветке HKLM\SYSTEM\ControlSet001\Enum\USB\
Get-ChildItem -path HKLM:\SYSTEM\ControlSet001\Enum\USB\ -recurse -ErrorAction SilentlyContinue
Дальше получаю длинный вывод чтото вида:
Hive: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_13FE&PID_4200\070189C3CBEAEA48
Name Property
---- --------
Device Parameters EnumerationRetryCount : 0
SymbolicName : \??\USB#VID_13FE&PID_4200#070189C3CBEAEA48#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Hive: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_13FE&PID_4200\070189C3CBEAEA48\Device Parameters
Name Property
---- --------
Ceip DeviceInformation : 0
PortInterconnectType : 0
TroubleshooterRootCauseId : 0
e5b3b5ac-9725-4f78-963f-03dfb1 D3ColdSupported : 1
d828c7
Hive: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB
Name Property
---- --------
VID_8564&PID_1000
Hive: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_8564&PID_1000
Name Property
---- --------
04FAQEBHBA2Q82FM DeviceDesc : @usbstor.inf,%genericbulkonly.devicedesc%;USB Mass Storage Device
LocationInformation : Port_#0009.Hub_#0001
Capabilities : 148
Address : 9
ContainerID : {4c4eb887-fa5d-5a0f-bc1c-b896a1a303cf}
HardwareID : {USB\VID_8564&PID_1000&REV_1100, USB\VID_8564&PID_1000}
CompatibleIDs : {USB\Class_08&SubClass_06&Prot_50, USB\Class_08&SubClass_06, USB\Class_08}
ClassGUID : {36fc9e60-c465-11cf-8056-444553540000}
Service : USBSTOR
Driver : {36fc9e60-c465-11cf-8056-444553540000}\0007
Mfg : @usbstor.inf,%generic.mfg%;Compatible USB storage device
ConfigFlags : 0
Hive: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_8564&PID_1000\04FAQEBHBA2Q82FM
Name Property
---- --------
Device Parameters EnumerationRetryCount : 0
SymbolicName : \??\USB#VID_8564&PID_1000#04FAQEBHBA2Q82FM#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Hive: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\VID_8564&PID_1000\04FAQEBHBA2Q82FM\Device Parameters
Name Property
---- --------
Ceip DeviceInformation : 0
PortInterconnectType : 0
TroubleshooterRootCauseId : 0
e5b3b5ac-9725-4f78-963f-03dfb1 D3ColdSupported : 1
d828c7
Только вывод намного больше, и как мне из него получить нужное?
Как мне из вывода получить любое нужное мне значение? Например Hive? Property?
(Get-ChildItem -path HKLM:\SYSTEM\ControlSet001\Enum\USB\ -recurse -ErrorAction SilentlyContinue).gettype() – говорит что это массив:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
Только вот скольки мерный?
Т.е. к его элементам можно обратится как к элементам массива, делаю:
(Get-ChildItem -path HKLM:\SYSTEM\ControlSet001\Enum\USB\ -recurse -ErrorAction SilentlyContinue)[1]
Hive: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\ROOT_HUB30
Name Property
---- --------
4&9f1d25&0&0 Capabilities : 128
Address : 0
ContainerID : {00000000-0000-0000-ffff-ffffffffffff}
HardwareID : {USB\ROOT_HUB30&VID8086&PIDA36D&REV0010, USB\ROOT_HUB30&VID8086&PIDA36D, USB\ROOT_HUB30}
CompatibleIDs : {}
ClassGUID : {36fc9e60-c465-11cf-8056-444553540000}
Service : USBHUB3
DeviceDesc : @usbhub3.inf,%usbhub3.roothubdevicedesc%;USB Root Hub (USB 3.0)
Driver : {36fc9e60-c465-11cf-8056-444553540000}\0001
Mfg : @usbhub3.inf,%generic.mfg%;(Standard USB HUBs)
ConfigFlags : 0
ParentIdPrefix : 5&34c36748&0
(Get-ChildItem -path HKLM:\SYSTEM\ControlSet001\Enum\USB\ -recurse -ErrorAction SilentlyContinue)[1].Property
Capabilities
Address
ContainerID
HardwareID
CompatibleIDs
ClassGUID
Service
DeviceDesc
Driver
Mfg
ConfigFlags
ParentIdPrefix
Но без значений, а мне допустим надо узнать значение каждого Property (Как в выводе выше)
Нужно добавить запись в реестр с помощью BAT файла? Хотите по расписанию править ветки реестра? Нужно исправить значение реестра из командной строки? Нужно поправить реестр компьютера по сети? Легко!
В первую очередь следует знать, что работа с реестром требует прав администратора, так что командную строку запускаем от имени администратора, а BAT файл выполняем с наивысшими привилегиями.
Параметры команд
Команды
- REG QUERY
- REG ADD
- REG DELETE
- REG COPY
- REG SAVE
- REG RESTORE
- REG LOAD
- REG UNLOAD
- REG COMPARE
- REG EXPORT
- REG IMPORT
- REG FLAGS
reg add /?
reg add — добавление и изменение данных в реестре.
REG ADD \\ABC\HKLM\Software\MyCo Добавляет раздел HKLM\Software\MyCo на удаленном компьютере ABC REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Добавляет параметр (имя: Data, тип: REG_BINARY, данные: fe340ead) REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Добавляет параметр (имя: MRU, тип: REG_MULTI_SZ, данные: fax\0mail\0\0) REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% Добавляет параметр (имя: Path, тип: REG_EXPAND_SZ, данные: %systemroot%) Примечание. В расширяемой строке используйте знак вставки ( ^ )
Пример BAT файла, который разрешает запуск неподписанных PowerShell скриптов:
@echo off
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell" /v "ExecutionPolicy" /t REG_SZ /d "Bypass" /f
reg delete — удаление данных в реестре.
REG DELETE HKLM\Software\MyCo\MyApp\Timeout Удаляет раздел реестра Timeout и все его подразделы и параметры. REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU Удаляет параметр реестра MTU из раздела MyCo на компьютере ZODIAC
reg query — считать данные из реестра.
REG QUERY HKLM\Software\Microsoft\ResKit /v Version Отображение значения параметра реестра Version REG QUERY \\ABC\HKLM\Software\Microsoft\ResKit\Nt\Setup /s Отображение всех подразделов и их параметров в разделе реестра Setup удаленного компьютера ABC REG QUERY HKLM\Software\Microsoft\ResKit\Nt\Setup /se # Отображение всех подразделов и параметров со знаком "#" в качестве разделителя для всех параметров типа REG_MULTI_SZ. REG QUERY HKLM /f SYSTEM /t REG_SZ /c /e Отображение раздела, параметра и данных с учетом реестра букв для точных совпадений с "SYSTEM" типа REG_SZ из корневого раздела HKLM REG QUERY HKCU /f 0F /d /t REG_BINARY Отображение раздела, параметра и данных для совпадений с "0F" типа REG_BINARY среди данных в корневом разделе HKCU REG QUERY HKLM\SOFTWARE /ve Отображение параметра и данных для пустого значения (по умолчанию) в разделе HKLM\SOFTWARE
reg copy — копировать данные из одной ветки реестра в другую.
REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s Копирует все подразделы и параметры раздела MyApp в раздел SaveMyApp REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM\Software\MyCo1 Копирует все параметры раздела MyCo с компьютера ZODIAC в раздел MyCo1 на локальном компьютере
reg compare — сравнить две ветки реестра.
REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp Сравнивает все значения в разделе MyApp со значениями раздела SaveMyApp REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version Сравнивает значения Version в разделах MyCo и MyCo1 REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s Сравнивает все подразделы и значения параметров в разделе HKLM\Software\MyCo реестра на компьютере ZODIAC с аналогичным разделом на текущем компьютере
reg export — экспорт данных реестра в REG файл.
REG EXPORT HKLM\Software\MyCo\MyApp AppBkUp.reg Экспорт всех подразделов и параметров раздела MyApp в файл AppBkUp.reg
reg import — импорт данных в реестр из REG файла.
REG IMPORT AppBkUp.reg Импорт записей реестра из файла AppBkUp.reg
reg flags— работа с флагами реестра.
REG FLAGS HKLM\Software\MyCo\MyApp QUERY Отображает текущие флаги раздела MyApp. REG FLAGS HKLM\Software\MyCo\MyApp SET DONT_VIRTUALIZE /s Устанавливает флаг DONT_VIRTUALIZE (и удаляет флаги DONT_SILENT_FAIL и RECURSE_FLAG) для раздела MyApp и всех его подразделов
reg save, reg restore, reg load, reg unload — бэкап и восстановление реестра с помощью файлов HIV.
REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv Сохранение куста MyApp в файл AppBkUp.hiv текущей папки REG RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv Восстановление файла NTRKBkUp.hiv заменой раздела ResKit REG LOAD HKLM\TempHive TempHive.hiv Загрузка файла TempHive.hiv в раздел HKLM\TempHive REG UNLOAD HKLM\TempHive Выгрузка куста реестра TempHive в HKLM
Практические приёмы работы с Реестром¶
В данном разделе рассматриваются практические примеры работы с реестром:
Лицензия КриптоПро в реестре [1017]¶
Лицензия КриптоПро хранится в реестре, её можно оттуда скопировать, либо ввести.
- Перейти в ветку:
\\\\\ \\\\\\\\\\ \\\\\\\\\\ \\\\\\\\\\\\ \\\\
- Открыть двойным нажатием левой кнопки мыши параметр
и прописать в поле
серийный номер лицензии (можно с дефисами, можно без). Либо скопировать номер лицензии оттуда.
Где хранятся ключи(закрытый ключ сертификата) в реестре? [1739]¶
Реестр может использоваться в качестве ключевого носителя, другими словами, в него можно скопировать Квалифицированную электронную подпись (КЭП). После копирования закрытые ключи будут находиться:
- для 32-битной ОС:
\\\\ \ \\
- для 64-битной ОС:
\\\ \ \\ \\
- В некоторых случаях сертификат попадает сюда:
\\\\ \\ \\\\\
Где SID (идентификатор пользователя) (англ. Security Identifier (SID)) — структура данных переменной длины, которая идентифицирует учетную запись пользователя, группы, домена или компьютера.
Рис. 23 – Узнать SID пользователя через командную строку
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».
Восстановление закрытых ключей с неисправного компьютера¶
Есть возможность восстановить закрытые ключи сертификата, если они были записаны в реестре компьютера и этот компьютер сломался.
Это можно сделать только в том случае, если жесткий диск в рабочем состоянии и есть возможность его подключить к рабочему системному блоку. Или есть копия папки .
Если условия выполняются, необходимо проделать следующее:
- Подключить жесткий диск от неработающего компьютера к рабочему системному блоку;
- Скачать утилиту
и скопировать ее в корень диска
.
\
Загрузить куст
(см. раздел Загрузка и выгрузка куста):
- Перейти в раздел
;
- Выбрать «Файл → Загрузить куст»;
- В файловом менеджере выбрать соответствующий файл куста с нерабочего компьютера
;
- Задать произвольное имя загруженному кусту, например,
.
- Перейти в раздел
Загрузка куста может занять некоторое время.
- Перейти в раздел, в котором хранятся КЭП;
- для 32-битной ОС:
\\\\ \ \\
- для 64-битной ОС:
\\\ \ \\ \\В некоторых случаях сертификат попадает сюда:
\\\\ \\ \\\\\
- После того, как найден нужный раздел с ключами:
- Нажать на подраздел
правой кнопкой мыши и выбрать пункт «Экспортировать» (см. раздел Создание резервной копии реестра (Экспорт)).
- Выбрать место для сохранения и задать имя файла. Экспортированный файл будет иметь расширение
.
- Если требуется, перенести экспортированный файл с расширением
на другой компьютер.
- Открыть экспортированный файл с расширением
в текстовом редакторе (Notepad++, Блокнот) и изменить в файле идентификатор пользователя (SID) на идентификатор текущего пользователя, для этого:
Рис. 24 – Изменение пути к веткам реестра
- В командной строке («Пуск → Выполнить → cmd») ввести команду
(см. рисунок Рис. 23 – Узнать SID пользователя через командную строку).
Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью».
Если разрядность(битность) текущей системы отличается от той, на которой находился контейнер закрытого ключа, то необходимо проверить и при необходимости исправить путь в текстовом редакторе.
- В конце рекомендуется выгрузить ранее загруженный куст «Файл → Выгрузить куст».
Можно запускать реестр и не используя утилиту , но тогда придется добавлять загруженным веткам права и разрешения вручную так, как описано в разделе Права доступа (Разрешения). Это не критично, если речь идет, например, о копировании всего одного контейнера закрытого ключа. Если файлов много, то гораздо быстрее и удобнее использовать
.
Рекомендую всегда держать на готове утилиту , ее скачивание и копирование занимает не так много времени.
Извлечение информации из резервной копии реестра¶
Резервные копии реестра обычно создаются автоматически каждые десять дней. Сохраняются они в папке:
– для Windows 7 и Server 2008;
– для XP и Server 2003.
Данные папки содержит те же файлы, что и .
Если, например, из реестра случайно был удален контейнер закрытого ключа, теоретически, есть возможность импортировать куст из резервной копии.
Порядок действия аналогичен, описанному порядку в инструкции Восстановление закрытых ключей с неисправного компьютера. Отличается только файл загружаемого куста .
Доступ к считываетлям (Calais)¶
Иногда возникает проблема с доступом к считывателям смарт-карт. Она может быть связана с тем, что у текущего пользователя недостаточно прав на следующие ветки:
\\\\ \\\\\
Подробнее о настройке прав доступа читайте в разделе Права доступа (Разрешения).
Может возникнуть ситуация, когда текущий пользователь системы даже не будет являться владельцем данных веток реестра, следовательно, у него не будет прав на них. В таком случае, необходимо сначала добавить текущего пользователя во владельцы этих веток, а затем проставить ему соответствующие права, как описано в разделе Права доступа (Разрешения) данного руководства.
Доверенные узлы¶
Если узел не добавляется в надежные узлы, можно добавить его вручную через реестр, для этого необходимо:
- Перейти в ветку
- Добавить подраздел с названием домена, например,
;
- В добавленном подразделе создать еще один подраздел с названием субдомена:
;
- Добавить параметр DWORD
со значением
Рис. 25 – Добавление зон надежных узлов вручную
Общие сведения о программе Regmon .
Regmon – программа от компании Sysinternals для наблюдения в реальном масштабе времени за выполнением обращений к системному реестру Windows.
Авторы – Марк Руссинович (Mark Russinovich) и Брюс Когсуэлл (Bryce Cogswell)
После приобретения Sysinternals компанией Майкрософт, в разделе Microsoft TechNet появился подраздел Windows Sisinternals где можно найти описание и ссылки для скачивания большинства программных
продуктов Sysinternals. Однако, Regmon, а также программа мониторинга
обращений к файловой системе Windows Filemon были заменены одной
программой Process Monitor, которая, при
всех ее достоинствах, все же, менее удобна для
выполнения именно мониторинга обращений к реестру . В среде операционных
систем Windows 2000/XP многие пользователи по-прежнему
предпочитают пользоваться утилитой Regmon. Если же, предполагается мониторинг
обращений к реестру в среде операционных систем Windows Vista/Windows 7, то
лучше
перейти на страницу описания утилиты Process Monitor.
По своим функциональным возможностям последние версии Regmon мало
чем отличаются друг от друга, по крайней мере, внешне. Здесь я разместил
ссылки для скачивания версий Regmon, которыми пользовался лично.
Программа не требует инсталляции, однако должна выполняться под
учетной записью с правами администратора. В архиве также присутствует
файл документации на английском языке regmon.hlp .
После запуска исполняемого файла regmon.exe, на экран выводится окно настроек фильтров перехвата обращений к реестру и после нажатия Ok программа начнет работу. О настройке фильтров Regmon подробно будет рассказано ниже.
Интерфейс программы состоит из 3-х частей – строка меню (menu bar), панель инструментов (toolbar) и область вывода данных в виде таблицы, каждой строке которой соответствует запись об обращении к реестру. Для остановки процесса перехвата нужно щелкнуть мышкой по кнопке с лупой, так, чтобы ее изображение стало перечеркнутым красной линией. Повторный щелчок вернет режим перехвата.
Двойной щелчок на отдельной строке вызовет запуск редактора реестра с переходом на раздел или ключ, соответствующий данной записи. Порядок следования строк соответствует времени выполнения операций. Информация в окне вывода данных разделена на семь столбцов:
– номер строки с начала сессии перехвата обращений к реестру .
– время обращения. Формат времени (часы или секундомер) можно задать с использованием меню Options- Clock Time . Для формата часов можно установить точность отображения времени с помощью – Options – Show Milliseconds
– имя и идентификатор процесса (PID), который вызвал обращение к реестру. Например – svchost.exe:792 – к реестру обращался процесс svchost.exe, идентификатор PID которого равен 792.
– тип запроса. Типы запросов отслеживаемые regmon:
OpenKey – Процесс открывает ключ для дальнейших операций над ним.
CloseKey – Процесс закрывает ключ. Для любых обращений к ключу реестра сначала всегда выполняется открытие ключа, а в конце работы с ним – закрытие
CreateKey – Процесс выполняет создание нового ключа реестра.
DeleteKey – Процесс выполняет удаление ключа реестра.
DeleteValueKey – Процесс выполняет удаление значение из ключа реестра.
EnumerateKey – С помощью этого запроса процесс определяет наличие и имена подключей данного ключа. Программа циклически выполняет запрос EnumerateKey до тех пор, пока не будут прочитаны все подключи.
EnumerateValue – С помощью этого запроса определяется значения ключа. Программа циклически выполняет запрос EnumerateValue до тех пор, пока не будут получены все значения ключа.
SetValue – Процесс создает новое значение ключа, или изменяет данные, которые содержат значение по указанному пути в реестре..
QueryKey – Процесс считывает информацию о ключе по указанному пути.
QueryValue – Процесс считывает данные ключа.
LoadKey – Процесс выполняет загрузку куста реестра (hiev).
UnloadKey – Процесс выполняет выгрузку куста реестра.
– путь к ключу реестра или обрабатываемому значеню ключа.
– Результат выполненного с реестром действия :
SUCCESS – выполнено успешно
NOTFOUND – Ключ или значение не найдено. Данный результат встречается довольно часто и как правило не является ошибкой. Обычно – это признак поиска процессом конкретных данных в реестре.
BUFOVRFLOW – Переполнение буфера. Программа запросила в реестре данные, которые должна получить в буфер определенного объема, но данные в буфер не помещаются. Во многих случаях, размер получаемых из реестра данных заранее неизвестен, поэтому многие приложения инициируют зарос к реестру с помощью функции, одно из значений которой установлено в 0, и если запрашиваемое значение существует, то функция возвращает требующийся размер буфера с признаком BUFOVRFLOW. Поэтому этот результат, как правило, говорит не об ошибке, а о попытке приложения определить размер буфера для хранения данных из реестра.
ACCDENIED – Доступ запрещен. Обычно связано с недостатком полномочий для обращения к реестру по указанному пути.
NOMORE – программе необходимо было получить список вложенных ключей для указанного пути и выполнялось их перечисление по одному. Когда ключей или значений не осталось, был сформирован результат NOMORE
– дополнительная информация.
Информация, детализирующая конкретный тип запроса и результат его выполнения. Это могут быть данные, полученные из значения ключа, права доступа, найденные подключи.
Access – желательные права доступа. Наиболее часто используется Access:0x20019 – максимально разрешенный доступ.
SubKeys – после успешного выполнения запроса QueryKeys указывается количество подключей для данного ключа.
“text” – текстовое значение. Обычно данные, хранящиеся в строковых значениях (данные типа STRING)
0xN – шестнадцатеричное значение. (Данные типа DWORD)
Name: – текстовое имя ключа.
XX XX XX XX – шестнадцатеричные числа для двоичных значений (данные типа BINARY)
Основное меню Regmon .
Большинство пунктов основного меню утилиты Regmon продублированы в виде значков панели инструментов (Toolbar). Наиболее часто используемые действия можно выполнить с использованием комбинаций клавиш, которые указаны в названии пункта. Например – “Capture Events : CTRL+E”. Нажатие CTRL+E изменит режим перехвата событий (включит, если он был выключен, или наоборот, выключит, если был включен)
Пункты основного меню
Load – открыть из файла ранее сохраненный отчет и просмотреть его
Save – сохранить содержимое окна в файл отчета .
Save As – выбрать другое расположение и имя для файла отчета
Process Properties – свойства процесса, инициировавшего обращение к реестру. (исполняемый файл, путь, параметры командной строки и т.п.)
Exit – завершить работу Regmon
Capture Events – CTRL+E – включить/выключить перехват обращений к реестру.
Пункты основного меню
Copy – скопировать в буфер обмена выделенные строки.
Delete – удалить выделенные строки.
Include Process – добавить выделенный процесс в группу отслеживаемых
Exclude Process – исключить выделенный процесс из группы отслеживаемых
Include Path – добавляет путь из выделенной строки в список отслеживаемых
Exclude Path – исключить путь из выделенной строки из списка отслеживаемых.
Find – поиск по всему содержимому буфера перехваченных данных, строки с заданным текстом.
Clear Display
Пункты основного меню
Font – выбор шрифта для окна
Highlight Colors – выбор цвета для фона и текста записей, выбранных в качестве подсвечиваемых (наиболее интересных для анализа). Можно задать цвет фона (BG) и текста (FG) выбрав нужный цветовой элемент и нажав кнопку Select под свои предпочтения.
Filter/Highlight – определение фильтров для записей, которые должны быть включены / исключены из перехваченных данных, и строк, выделяемых подсветкой. Более подробно о фильтрах – ниже по тексту.
History Depth – максимальное число перехватываемых событий. (0 – без ограничений).
Auto Scroll – включить/выключить автоматическую прокрутку содержимого окна, так чтобы всегда можно было видеть последнюю запись.
Clock Time – переключение формата времени (часы или секундомер)
Show Milliseconds – дополнительно в значении времени показывать миллисекунды.
Always On Top – окно программы всегда поверх всех остальных окон
Log Boot – отслеживать обращения к реестру в процессе загрузки Windows.
После выбора этого пункта меню, программа выдаст сообщение, что Regmon сконфигурирован для записи обращений к реестру в файл журнала в процессе следующей перезагрузки ОС:
Regmon
Log Boot
File – Open
Установка фильтров программы Regmon .
По умолчанию, утилита Regmon настроена на вывод информации об обращениях к реестру Windows, выполняемых
всеми процессами и приложениями, но в программе предусмотрена возможность фильтровать выходные данные.
Задать условия фильтрации можно сразу после старта утилиты или вызвав окно настройки фильтров ( Regmon Filters )
в любой момент времени c использованием меню программы или комбинации клавиш CTRL+L
Фильтры позволяют ограничить вывод данных Regmon исходя из имени процесса, пути в реестре,
типа запроса и результатов его выполнения.
Для настройки фильтров можно использовать три текстовых поля. Фильтры разделяются друг от друга символом “точка с запятой”. Возможно использование символа * (звездочка) в качестве шаблона (wildcard).
Include – только процессы и пути реестра, перечисленные в этом поле, будут выводиться в списке выходных данных Regmon.
Exclude – процессы и пути реестра, перечисленные в этом поле, не будут выводиться в списке выходных данных Regmon.
В поле Highlight указываются фильтры по которым определяются выделяемые из выходного списка строки.
В нижней части окна настройки фильтров имеется несколько флажков ( checkboxes ) фильтрации элементов списка по типу выполняемых действий. Если снять все флажки, никакой информации выводиться не будет. Установка флажка определяет, какие операции будут выводиться в окне данных.
Log Opens – выводить данные об операциях, связанных с открытием или закрытием ключей.
Log Reads – выводить данные об операциях чтения из реестра ( QueryKey и QueryValue ).
Log Writes -выводить данные об операциях записи в реестр ( SetValue ).
Log Errors – выводить данные об операциях, завершившихся с ошибкой . Надо учитывать, что ошибки при обращении к реестру далеко не всегда говорят о какой-либо проблеме с реестром, а чаще всего вызваны логикой работы процесса, обращающегося к реестру.
Log Successes – выводить данные об операциях, выполненных успешно .
Программа запоминает историю вводимых фильтров. При старте используется последний заданный фильтр. Для сброса критериев фильтрации в исходное значение используется кнопка
Defaults в окне Regmon Filters
На практике, для фильтрации выводимых данных, удобнее использовать меню, вызываемое правой кнопкой мышки на выбранной строке
Include Process и Include Path – добавить в поле Include процесс или путь, отображаемый в текущей строке.
Exclude Process и Exclude Path – исключить из выходных данных Regmon процесс или путь, отображаемый в текущей строке.
Практика применения утилиты Regmon .
Для освоения работы с Regmon, проще всего начать с использования перехвата обращений к реестру той программы, логика работы которой вам известна. Например – редактор реестра Windows regedit.exe. Для фильтрации можно взять следующие значения:
Include – regedit
Exclude – оставляете пустым
Поле Highlihgts тоже можно оставить пустым. При необходимости, критерии подсвечивания и исключения можно всегда задать в ходе работы, когда начнется перехват обращений к реестру.
После начала отслеживания, попробуйте открыть раздел реестра и посмотреть как выглядит последовательность обращений и какие операции выполнялись в процессе выполнения данного действия. Что происходит при чтении или записи отдельных значений.
После приобретения начальных навыков работы с Regmon, попробуйте определить, например, где и в каком виде в реестре хранится информация о домашней странице обозревателя Internet Explorer (IE). В качестве дополнительной информации:
– желательно определить имя процесса для Include-фильтра, чтобы уменьшить объем ненужной информации.
– проще всего найти данную настройку в реестре Windows, если вручную изменить домашнюю страницу IE на известное вам значение.
– включать режим перехвата обращений к реестру лучше непосредственно перед выполнением изменения домашней страницы IE, чтобы уменьшить объем анализируемой информации, не относящейся к искомой проблеме.
Ну, и если возникнут затруднения, попробуйте задать в фильтре HighLights текст соответствующий выводимому значению домашней страницы в настройках обозревателя.