Мониторинг Windows PowerShell: Включение логирования модулей
Существует небольшая и полезная настройка групповой политики, с помощью которой вы можете включить мониторинг PowerShell, в частности использование команд, связанных с модулями PowerShell. Итак, я попробовал это и хочу сохранить эти знания для моих читателей и для себя в виде этого блога.
Активация регистрации модулей с помощью консоли групповой политики
Прежде чем мы начнем, небольшое примечание: вы можете активировать ведение журналов на уровне пользователя или компьютера. Разница очевидна: если вы настроите параметр для компьютера, то ведение журналов будет включено для всех пользователей. Введите в PowerShell или cmd gpedit.msc. Это откроет графический интерфейс локальных параметров групповой политики.
gpedit.mscПерейдите к Конфигурации компьютера - Административные шаблоны - Компоненты Windows - Windows PowerShell и дважды щелкните по «Включить регистрацию модулей».
Здесь вы можете задать настройки журналирования для каждого модуля PowerShell.
Давайте попробуем это сделать. Я нажимаю на Включено, а в разделе Параметры нажимаю на Показать... Я хочу зарегистрировать все события модуля PowerShell NetTCPIP. Поэтому в поле значения я ввожу NetTCPIP.
Тогда я нажимаю OK дважды. Настройка изменилась на Включено. Это выглядит хорошо.
Наконец, я запускаю gpupdate /force, чтобы обновить ранее настроенное групповое политическое значение.
gpupdate /force
Вау, я настроил логирование на уровне компьютера. Теперь я принимаю решения. 😉
Совет 1: Вы не знаете все названия модулей наизусть? Что за чёрт, почему нет? 😉 Ладно, я понимаю, тогда запускайте.
Get-Module -ListAvailable | Select Name узнать все имена.
Совет 2: Чтобы отслеживать все команды PowerShell, просто введите * вместо имен модулей.
Тестирование конфигурации
Начиная с этого момента, должно произойти следующее: если я выполню команду, связанную с модулем NetTCPIP, то система должна зарегистрировать это событие в Просмотрщике событий.
Для тестирования я бегу
Get-NetIPAddress
Затем я открываю Просмотр событий (eventvwr). И нахожу это:
Большой брат следит за тобой.
Активирование журналирования модуля с помощью PowerShell
Другой способ активировать журналирование модуля - использовать PowerShell. Следующая команда активирует журналирование модуля для модуля Active Directory (доступен только на контроллерах домена или компьютерах с установленным RSAT):
Import-Module ActiveDirectory
(Get-Module ActiveDirectory).LogPipelineExecutionDetails = $true
(Get-Module ActiveDirectory).LogPipelineExecutionDetailsИтак, давайте запустим команду из моего блога "PowerShell: Мои 10 лучших команд для документирования и мониторинга Active Directory."
Get-ADDomainController -Filter * | Format-List Name,Ipv4Address,IPv6Address,OperatingSystemПосле выполнения я нахожу это в Просмотре событий:
Обратите внимание, что настройка, сконфигурированная таким образом, эффективна только в текущей сессии.
Счастливого мониторинга!







