PowerShell: Lista wyłączonych użytkowników w AD

Poniżej one liner generujący listę wyłączonych kont użytkowników z AD, użyłem do tego polecenia Get-ADUser , ze względu na to że potrzebowałem na swojej liście atrybutów odpowiadających kiedy konto zostało utworzone i kiedy zamknięte.

Zaczynamy od ustalenia jaki atrybut w obiekcie użytkownika odpowiada za to że jest on wyłączony/nieaktywny. Jet to atrybut: Enabled przyjmuje on wartość true lub false zatem:

Get-ADUser -Filter * -Properties * | Where-Object {$_.Enabled -eq $false}

Do tego potrzebowałem jeszcze parametry kiedy konto zostało utworzone i kiedy zostało wyłączone. Pierwszy atrybut dość prosty w realizacji: whenCreated natomiast jeżeli chodzi o drugi nie ma w AD informacji kiedy konto jest wyłączane, przyjąłem więc: whenChanged:

Get-ADUser -Filter * -Properties * | Where-Object {$_.Enabled -eq $false} | Select-Object Name, SAMAccountName, whenCreated,whenChanged

Lista idealna wystarczy wyeksportować do CSV i po zabawie:

Get-ADUser -Filter * -Properties * | Where-Object {$_.Enabled -eq $false} | Select-Object Name, SAMAccountName,whenCreated,whenChanged | Export-Csv -Path C:\users\user\Desktop\adusers_disabled_list.csv -Encoding UTF8

UWAGA: Gdybyście potrzebowali tylko listy takich użytkowników bez dodatkowych atrybutów w PowerShell mamy jeszcze Search-ADAccount

Search-ADAccount –AccountDisabled –UsersOnly | Export-Csv -Path C:\users\user\Desktop\adusers_disabled_list.csv -Encoding UTF8