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