Изменить политику аудита (групповая политика)
Я хотел бы изменить политику аудита объектов с помощью 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.
ТЛ; др
HKEY_LOCAL_MACHINE\SECURITY\Policy\PolAdtEv\(Default)
это вы хотите.- Загрузите файлы.reg здесь
- Запустите это в командной строке с повышенными правами:
psexec -i -s regedit
- Импортируйте нужный вам файл.reg.
- Подтвердите, повторно открыв gpedit.msc и проверив Просмотр событий (Безопасность)
Не доверяете файлам.reg? Вот значения, которые вы, если вы хотите создать их самостоятельно. Тип значения - REG_NONE, поэтому @=hex(0)
,
Нет аудита: 00010000090000007e00000001000000030000000300010001000100000001000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000001000000010000000000000000000000000000000000000000000000fe7f05000a000e00030004000600060004000400
Успех: 00010000090000007e00000001000000030000000300010001000100000001000000000000000300000001000100010001000100010001000100010001000100010001000100000000000000000000000000000001000100000000000000000001000000010000000000000000000000000000000000000000000000fe7f05000a000e00030004000600060004000400