Сначала я должен предоставить некоторый контекст.
Я могу настроить procmon для запуска на некоторой высоте, отличной от высоты по умолчанию, внеся два изменения в ключ «HKLM\SYSTEM\CurrentControlSet\Services\PROCMON24\Instances\Process Monitor 24 Instance»:
- Изменение значения высоты со значения по умолчанию «385200» на требуемое значение; например. '136500'
- И добавление специального разрешения к ключу: пользователь: Все тип: Запретить разрешения: ('установить значение' | 'удалить')
Причина изменения высоты очевидна. Причина добавления специального разрешения менее очевидна: без этого procmon просто сбросит высоту до значения по умолчанию.
Хорошо, вот мой вопрос:
Я не могу программно удалить добавленное разрешение или изменить этот ключ или его значения. Это неудивительно, потому что разрешение отказывает «всем» в этом доступе.
Однако я могу легко удалить это разрешение с помощью regedit. Я просто выбираю разрешение и удаляю его.
Итак, какой трюк использует regedit, чтобы переопределить это разрешение?
Я вижу, что он работает как текущий пользователь, а не как «СИСТЕМА». Я могу использовать psexec для запуска сценария удаления как «СИСТЕМА», но ему также отказано в доступе.
PsExec -i -s regedit
(илиPsExec64 -i -s regedit
) из командной строки с повышенными правами должно помочь! - person JosefZ   schedule 18.01.2019