Как я могу использовать Process Monitor для обнаружения изменений в реестре, внесенных изменениями GPEdit?

3232
Sopalajo de Arrierez

Предполагается, что Process Monitor может фиксировать изменения реестра, сделанные любой программой. Эта ветка объясняет это прекрасно (спасибо вам, Джеймс Т).

Но, кажется, все не так просто, когда речь идет о редакторе групповых политик ( gpedit.msc), потому что я получаю более 738 зарегистрированных событий при попытке изменить только одну запись:

User Configuration -> Administrative Templates -> Code signing for drivers 

Много захваченных данных

Как изолировать конкретное изменение реестра для выполненного изменения GPEdit?

Новые данные:

Как предположил Фрэнк Томас (спасибо), была только одна RegSetValueзапись с именем HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\User\Software\Policies\Microsoft\Windows NT\Driver Signing\BehaviorOnFailedVerify.
Этот BehaviorOnFailedVerifyключ был тем, что я менял, но такой ключ был изменен в нескольких местах в реестре:

  • Как HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\User\Software\Policies\Microsoft\Windows NT\Driver Signingуказано.
  • Ат HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows NT\Driver Signing.
  • Ат HKEY_USERS\S-1-5-21-1389804526-12218611-1726603683-1004\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\User\Software\Policies\Microsoft\Windows NT\Driver Signing.
  • Ат HKEY_USERS\S-1-5-21-1389804526-12218611-1726603683-1004\Software\Policies\Microsoft\Windows NT\Driver Signing.

Это: четыре изменения, и только одно из них было обнаружено Process Monitor.
Это правильно? Зачем?
Если вы делаете вид, что выполняете те же изменения с помощью regкоманды (без использования gpedit.msc, какую мне следует изменить? Все четыре?

Примечание : я не объяснял, пока не считал это необходимым, но моя первоначальная идея состояла в том, чтобы иметь возможность изменять ключ BehaviorOnFailedVerifyчерез удаленную оболочку, например, SSH или telnet). Примечание-2 : Для тех, кто интересуется, что это меняет: он отключает запрос проверки подписи драйверов, поэтому ничто не предлагает пользователю графического интерфейса при установке некоторых неподписанных драйверов, таких как TAP-драйвер (сеть), для автоматической установки OpenVPN.

4
Ну, каждая запись, которую вы показываете, кроме той, которую вы выделили, является событием RegQueryKey, RegEnumKey, RegOpenKey или RegCloseKey, так что это процесс, читающий регистр, тогда как ваш RegSetValue - это событие, отмечающее, что регистр был записан. вы можете отфильтровать это событие или, если у вас есть полный путь к ключу, отфильтровать по пути. Frank Thomas 9 лет назад 0
Действительно, @FrankThomas. Но я все еще не уверен, что процедура работает. Обновленный пост; пожалуйста, прочитайте. Sopalajo de Arrierez 9 лет назад 0
попробуйте использовать запрос `Contains` (а не` is`) в фильтре Path, чтобы вы соответствовали только `BehaviorOnFailedVerify` или` Windows NT \ Driver Signing`. Frank Thomas 9 лет назад 1

1 ответ на вопрос

3
magicandre1981

Вместо этого используйте RegFromApp . Присоедините его к тому, MMC.exeчто запускает gpedit, и нажмите на зеленую стрелку, чтобы начать регистрацию. Если вы измените записи, инструмент создаст файл .reg, который вы сможете сохранить и использовать позже.

Спасибо тебе, magicandre1981. Эта программа кажется правильной для мониторинга изменений в реестре. Но у него все еще есть та же проблема, связанная с частью «изменено в нескольких местах в регистре» исходного вопроса: RegFromApp обнаруживает только одно из четырех изменений в регистре. Может быть, нет точного соответствия между регистром и GPEdit? Sopalajo de Arrierez 9 лет назад 0
что ты имеешь в виду под "изменено в нескольких местах в реестре"? magicandre1981 9 лет назад 0
Четыре пункта маркера являются примером четырех изменений, которые я обнаружил (путем поиска в RegEdit). Как указано, Process Monitor и RegFromApp обнаружили только один. Sopalajo de Arrierez 9 лет назад 0
какой ключ обнаруживает инструмент? значение под ** HKEY_CURRENT_USER \ Software \ Policies ** должно быть достаточно. magicandre1981 9 лет назад 0
Инструмент обнаруживает только первое из четырех значений (см. Часть вопроса «Новые данные»), это: `HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Объекты групповой политики \ Пользователь \ Программное обеспечение \ Политики \ Microsoft \ Windows NT \ Driver Signing`. Sopalajo de Arrierez 9 лет назад 0
Когда вы говорите «должно быть достаточно», вы имеете в виду, что изменение значения в «HKEY_CURRENT_USER \ Software \ Policies» создаст какое-то каскадное изменение для остальных трех? Не могли бы вы объяснить, почему это должно произойти? Sopalajo de Arrierez 9 лет назад 0
нет, остальные выглядят как значения состояния, так что gpedit знает, что было изменено само по себе и что другими инструментами. magicandre1981 9 лет назад 0