Извличане на списък с AD акаунти, създадени през последните 24 часа

Отделът за информационна сигурност е поставил задачата да разработи най-простата система за одит, която е да качва статистически данни за акаунти в Active Directory, създадени през последните 24 часа, както и информация за това кой е създал тези акаунти в домейна.

Съдържание:

  • Powershell скрипт, за да получите списък на наскоро създадени потребители в Active Directory
  • Как да разберете кой е създал акаунт в Active Directory

Powershell скрипт, за да получите списък на наскоро създадени потребители в Active Directory

За списък на потребителите, създадени в Active Directory през последните 24 часа, най-лесният начин е да използвате командлета PowerShell Get-ADUser.  Изходът на командлета ще бъде филтриран по атрибут на потребителя whencreated, която съхранява датата и часа на създаването на акаунта. Получавам такъв прост скрипт на PowerShell:

$ lastday = ((Дата на получаване). Добавяне на дни (-1))
$ filename = Get-Date -Format yyyy.MM.dd
$ exportcsv = "c: \ ps \ new_ad_users_" + $ filename + ".csv"
Get-ADUser -filter (когатоcreate -ge $ lastday) | Export-csv -path $ exportcsv

В този пример списъкът с акаунти на AD се записва във файл с текущата дата като име. Използвайки програмиста, можете да конфигурирате ежедневното стартиране на този скрипт, в резултат на което в указаната директория ще се натрупват файлове, съдържащи информация за датата на създаване на определен акаунт. Можете да добавите всички други атрибути на потребителя от Active Directory към отчета (вижте статията за използване на Get-ADUser).

Как да разберете кой е създал акаунт в Active Directory

В допълнение към факта на създаване на акаунт, защитниците може да се интересуват от информация за името на конкретен потребител, който е създал конкретен акаунт в Active Directory. Тази информация може да бъде получена от дневниците за сигурност на контролера на домейна Active Directory..

Когато въвеждате нов потребител в дневника за сигурност на контролера на домейн (точно това DC, на който е създаден акаунта) се появява събитие с код EvenId 4720 (DC трябва да има активирана политика за управление на акаунта за одит в Политиката за контрол на домейни по подразбиране).

Описанието на това събитие съдържа реда Регистриран е потребителски акаунт и след това акаунтът, от който е създаден нов потребителски акаунт на AD (подчертан на екрана по-долу).

Скриптът за изтегляне на всички събития за създаване на акаунт от дневника на контролера на домейна за последните 24 часа може да изглежда така:

$ time = (дата на получаване) - (период от време -часа 24)
$ filename = Get-Date -Format yyyy.MM.dd
$ exportcsv = "c: \ ps \ ad_users_creators" + име на файл + ".csv"
Get-WinEvent -FilterHashtable @ LogName = "Сигурност"; ID = 4720; StartTime = $ Time | Foreach
$ event = [xml] $ _. ToXml ()
ако ($ събитие)

$ Time = Дата на получаване $ _. TimeCreate -UFormat "% Y-% m-% d% H:% M:% S"
$ CreatorUser = $ event.Event.EventData.Data [4]. "# Текст"
$ NewUser = $ event.Event.EventData.Data [0]. "# Текст"
$ dc = $ event.Event.System.com компютър
$ dc + „|“ + $ Време + „|“ + $ NewUser + „|“ + $ CreatorUser | външен файл $ exportcsv -приложение

По аналогия със статията "Проста система за одит на изтриване на файлове и папки за Windows Server", можете да конфигурирате информацията за събитията, за които е установено, че не са текстови файлове във всеки DC, а чрез MySQL .NET Connector за PowerShell една база данни MySQL.