Pobieranie listy kont AD utworzonych w ciągu ostatnich 24 godzin

Departament bezpieczeństwa informacji wyznaczył zadanie opracowania najprostszego systemu kontroli, którym jest przesyłanie statystyk dotyczących kont Active Directory utworzonych w ciągu ostatnich 24 godzin, a także informacji o tym, kto utworzył te konta w domenie.

Treść

  • Skrypt PowerShell, aby uzyskać listę ostatnio utworzonych użytkowników w usłudze Active Directory
  • Jak dowiedzieć się, kto utworzył konto w usłudze Active Directory

Skrypt PowerShell, aby uzyskać listę ostatnio utworzonych użytkowników w usłudze Active Directory

Aby wyświetlić listę użytkowników utworzonych w usłudze Active Directory w ciągu ostatnich 24 godzin, najłatwiejszym sposobem jest użycie polecenia cmdlet programu PowerShell Get-aduser.  Dane wyjściowe polecenia cmdlet będą filtrowane według atrybutu użytkownika po stworzeniu, która przechowuje datę i godzinę utworzenia konta. Dostaję tak prosty skrypt PowerShell:

$ lastday = ((Get-Date) .AddDays (-1))
$ filename = Get-Date -Format rrrr.MM.dd
$ exportcsv = ”c: \ ps \ new_ad_users_” + $ filename + „.csv”
Get-ADUser -filter (whencreated -ge $ lastday) | Export-csv -path $ exportcsv

W tym przykładzie lista kont AD jest zapisana w pliku z bieżącą datą jako nazwą. Za pomocą harmonogramu możesz skonfigurować codzienne uruchamianie tego skryptu, w wyniku czego pliki zawierające informacje o dacie utworzenia konkretnego konta będą gromadzone w określonym katalogu. Możesz dodać dowolne inne atrybuty użytkownika z Active Directory do raportu (zobacz artykuł o korzystaniu z Get-ADUser).

Jak dowiedzieć się, kto utworzył konto w usłudze Active Directory

Oprócz faktu utworzenia konta ochroniarze mogą być zainteresowani informacjami o nazwie konkretnego użytkownika, który utworzył określone konto w usłudze Active Directory. Informacje te można uzyskać z dzienników zabezpieczeń kontrolera domeny Active Directory..

Podczas wprowadzania nowego użytkownika w dzienniku zabezpieczeń kontrolera domeny (właśnie to DC, na którym konto zostało utworzone) pojawia się zdarzenie z kodem EvenId 4720 (DC musi mieć włączone zasady zarządzania kontem inspekcji w domyślnych zasadach kontrolera domeny).

Opis tego zdarzenia zawiera wiersz A konto użytkownika, a następnie konto, z którego utworzono nowe konto użytkownika AD (zaznaczone na zrzucie ekranu poniżej).

Skrypt pobierania wszystkich zdarzeń tworzenia konta z dziennika kontrolera domeny z ostatnich 24 godzin może wyglądać następująco:

$ time = (get-date) - (new-timespan -hour 24)
$ filename = Get-Date -Format rrrr.MM.dd
$ exportcsv = ”c: \ ps \ ad_users_creators” + $ filename + „.csv”
Get-WinEvent -FilterHashtable @ LogName = "Bezpieczeństwo"; ID = 4720; StartTime = $ Time | Foreach
$ event = [xml] $ _. ToXml ()
if ($ event)

$ Time = Get-Date $ _. TimeCreated -UFormat "% Y-% m-% d% H:% M:% S"
$ CreatorUser = $ event.Event.EventData.Data [4]. "# Text"
$ NewUser = $ event.Event.EventData.Data [0]. "# Text"
$ dc = $ event.Event.System.computer
$ dc + „|” + $ Czas + „|” + $ NewUser + „|” + $ CreatorUser | out-file $ exportcsv -append

Analogicznie do artykułu „Prosty system kontroli usuwania plików i folderów dla Windows Server”, możesz skonfigurować informacje o zdarzeniach, które nie są plikami tekstowymi na każdym DC, ale poprzez MySQL .NET Connector dla PowerShell pojedynczą bazę danych MySQL.