Изменить политику аудита (групповая политика)

Я хотел бы изменить политику аудита объектов с помощью vb.net. Как включить аудит доступа к объектам. Это возможно? Если нет, то есть вариант powershell? Я знаю, что могу запустить gpedit на любой версии Windows, но я хочу иметь возможность изменять настройки программно.

Кроме того, я знаю, что некоторые параметры могут быть изменены реестром, но я не видел их для политики аудита.

http://www.lshift.net/blog/2013/03/25/programmatically-updating-local-policy-in-windows/

Я нашел это, но скоро попробую.

1 ответ

Решение

Обновление: возможно импортировать через VB (или, возможно, любой другой язык), но используя REG IMPORT. Убедитесь, что вы помещаете файл.REG, где система может получить к нему доступ (система не обладает теми же привилегиями, что и администратор). Вам нужно будет запустить отдельное приложение, работающее как System, и при загрузке импортировать раздел реестра. Вы можете работать как Система, используя PSTools (psexec), от Sysinternals. Вы также можете сделать это, создав службу, запустив ее, а затем удалив службу: Запуск приложения как системы (без PSTools)

Я понял, что все ссылки, которые я думал, были ответом, не были. Все они меняют вкладку Audit Policy, и я уже могу это сделать программно. Я хочу изменить глобальную политику аудита, которая доступна только в групповой политике (gpedit.msc). Конечно, вы можете "установить" его в любой версии Windows, но я хочу решение, которое не требует, чтобы конечный пользователь устанавливал его (он же не использует gpedit.msc).

Я знал, что Process Monitor может отслеживать практически все, что происходит в фоновом режиме, и одна ссылка в моих комментариях также использовала Process Monitor (комментарии моего OP). Итак, я решил, что это действительно был мой единственный путь. Естественно, вы бы подумали, что нужно искать mmc.exe, но это не так. Это делает тонну открытия реестра / запроса / перечисления / закрытия. Тем не менее, нет настройки или удаления. Я решил посмотреть немного до и после большого блока операций mmc (ну и конечно где-нибудь между). Все, что не было MMC, но произошло в точные сроки. Я обнаружил, что lsass сделал некоторые настройки и удаления. Это изменяло значение ключа реестра, который принадлежит системе. Я использовал PSTools для запуска regedit от имени System, чтобы получить доступ к ключу. Затем я использовал gpedit для переключения назад и назад (от "Нет аудита к успеху") и обнаружил, что он всегда устанавливает одинаковые значения (что-то вроде 0 для выключения и 1 для включения). Я экспортировал ключи, когда изменил значения в gpedit, а затем импортировал их для проверки. Я могу подтвердить, что он работает, открыв gpedit после импорта, и значение изменилось. Я также могу подтвердить, просто включив Аудит для папки, и просматривая журналы в Event Viewer.

ТЛ; др

  1. HKEY_LOCAL_MACHINE\SECURITY\Policy\PolAdtEv\(Default) это вы хотите.
  2. Загрузите файлы.reg здесь
  3. Запустите это в командной строке с повышенными правами: psexec -i -s regedit
  4. Импортируйте нужный вам файл.reg.
  5. Подтвердите, повторно открыв gpedit.msc и проверив Просмотр событий (Безопасность)

Не доверяете файлам.reg? Вот значения, которые вы, если вы хотите создать их самостоятельно. Тип значения - REG_NONE, поэтому @=hex(0),

Нет аудита: 00010000090000007e00000001000000030000000300010001000100000001000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000001000000010000000000000000000000000000000000000000000000fe7f05000a000e00030004000600060004000400

Успех: 00010000090000007e00000001000000030000000300010001000100000001000000000000000300000001000100010001000100010001000100010001000100010001000100000000000000000000000000000001000100000000000000000001000000010000000000000000000000000000000000000000000000fe7f05000a000e00030004000600060004000400

Другие вопросы по тегам