Поиск по сайту:

Мониторинг 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

После выполнения я нахожу это в Просмотре событий:

Обратите внимание, что настройка, сконфигурированная таким образом, эффективна только в текущей сессии.

Счастливого мониторинга!