Как узнать, кто сбросил пароль пользователя в Active Directory

Разберемся, как в доменной среде Active Directory по журналам контроллеров домена определить, кто из администраторов сбросил пароль учетной записи определенного пользователя.

В первую очередь, в политиках домена нужно включить аудит событий управления учётными записями. Для этого:

  1. Откройте консоль управления групповыми политиками Group Policy Management (gpmc.msc) и отредактирует политику домена Default Domain Policy . Default Domain Policy
  2. Затем в консоли редактора групповых политик, перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Audit Policy
  3. Найдите и включите политику Audit User Account Management (если нужно фиксировать в журнале как успешные, та и неудачные попытки смены пароля, выберите опции Success и Failure ).
    Примечание . Эту же политику можно включить и в разделе расширенных политик аудита (Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Configuration)

    политика Audit User Account Management

  4. После прохождения цикла обновления групповых политик на клиентах можно попробовать изменить пароль любого пользователя в AD.
  5. После этого, откройте консоль просмотра событий на контроллере домена и перейдите в раздел Event Viewer -> Windows Logs -> Security . Щелкните ПКМ по журналу и выберите пункт Filter Current Log . фильтр журнала событий Filter Current Log
  6. В параметрах фильтра укажите, что нужно вывести только события с кодом EventID 4724 . EventID 4724 An attempt was made to reset an account's password.
  7. В списке событий останутся только события успешной смены пароля ( An attempt was made to reset an account’s password .). При этом в расширенном представлении события можно увидеть имя учётной записи администратора, которая выполнила смену пароля (Subject:) и, собственно, учетную запись пользователя, чей пароль был сброшен (Target Account:). событие сброса пароля пользователя в журнале контроллера домена

Совет . В контексте получения полной информации о событиях смены пароля пользователя, в фильтр можно добавить следующие идентификаторы событий:

  • 4724 (628 — в старых версиях Windows Server) – An attempt was made to reset an account’s password (сброс пароля пользователя администратором)
  • 4723 (627 — в старых версиях Windows Server) – An attempt was made to change an account’s password (смена пароля самим пользователем)

Информацию о данном событии из журналов всех контроллеров домена Active Directory с помощью PowerShell командлетов Get-ADComputer и Get-WinEvent , можно получить таким образом:
(Get-ADComputer -SearchBase ‘OU=Domain Controllers,DC=remontka,DC=loc’ -Filter *).Name | foreach {
Get-WinEvent -ComputerName $_ -FilterHashtable @{LogName="Security";ID=4724 }| Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$AdmUser = $event.Event.EventData.Data[4]."#text"
$User = $event.Event.EventData.Data[0]."#text"
$dc = $event.Event.System.computer
write-host “Admin ” $AdmUser “ reset password to ” $User “ on ” $dc “ “ $Time
}
}
}

PowerShell - сбор событий по всем контроллерам домена

При необходимости эти данные можно записывать прямо из PowerShell во внешнюю mysql базу данных, через специальный коннектор MySQL .NET Connector по аналогии со сценарием, описанным в статье Узнаем кто удалил файл на файловом сервере .

EnglishRussianUkrainian