Jak wyeksportować użytkowników Active Directory do CSV za pomocą PowerShell

Eksport użytkowników z Active Directory jest jedną z częściej wykonywanych czynności. Często zdarza się, że potrzebujemy przygotować listę użytkowników, aby założyć im konta w inne aplikacji, sprawdzić podstawowe dane o kontach użytkowników, aby wnieść do nich poprawki etc.

W tym wpisie zajmę się eksportem użytkowników przy pomocy polecenia PowerShell. Zaczniemy od podstawowego działania, rozbudowując je w miarę potrzeby o kolejne ciekawe możliwości.

Testową maszyną będzie Windows Server 2019 z Power Shell w wersji 5.1.

Get-ADUser Polecenie programu PowerShell

Wszelkiego rodzaju informacje dotyczące „parametrów” użytkownika (a będąc precyzyjnym jego konta) pozwala pobrać polecenie Get-ADUser dostępne w PowerShell’u.

Polecenie cmdlet Get-ADUser pobiera określony obiekt użytkownika lub przeprowadza wyszukiwanie w celu uzyskania wielu obiektów użytkownika.

Parametr Identity określa użytkownika usługi Active Directory, który ma zostać pobrany. Użytkownika można zidentyfikować na podstawie jego nazwy wyróżniającej (DN), identyfikatora GUID, identyfikatora zabezpieczeń (SID) lub nazwy konta Menedżera kont zabezpieczeń (SAM). Możesz również ustawić parametr na zmienną obiektu użytkownika, taką jak $<localUserObject> lub przekazać obiekt użytkownika przez potok (|) do parametru tożsamości.

Aby wyszukać i pobrać więcej niż jednego użytkownika, użyj parametrów Filtr lub LDAPFilter. Parametr Filter używa języka wyrażeń programu PowerShell do zapisywania ciągów zapytań dla usługi Active Directory. Składnia języka wyrażeń programu PowerShell zapewnia zaawansowaną obsługę konwersji typów dla typów wartości odbieranych przez parametr Filter. Aby uzyskać więcej informacji na temat składni parametru filtru, wpisz Get-Help. Jeśli masz istniejące ciągi zapytań protokołu LDAP (Lightweight Directory Access Protocol), możesz użyć parametru LDAPFilter.

Ten cmdlet pobiera domyślny zestaw właściwości (properties) obiektu użytkownika. Aby pobrać dodatkowe właściwości, użyj parametru Properties.

Get-ADUser wszystkie właściwości

Dla przykładu poniżej fragment wynikowy polecenia Get-AdUser w bardzo podstawowej wersji, które pokazuje wszystkie właściwości konta użytkownika beitadminpl w konsoli.

Get-AdUser właściwości konta użytkownika

Get-ADUser eksport właściwości do pliku.csv

Powyższe polecenie pokazało wszystkie właściwości wskazanego użytkownika w konsoli, co w przypadku gdy chcemy te właściwości zapisać do pliku .csv? Nic prostszego, dodajmy export.

Plik .csv można zaimportować do Excel’a, celem przygotowania ładnego raportu, poniżej fragment

Raport zaimportowany z pliku .csv

Get-AdUser eksport konkretnych właściwości

Jeśli nie chcesz eksportować wszystkich atrybutów użytkownika, użyj polecenia Select i wprowadź tylko potrzebne atrybuty. Wiesz już w jaki sposób wyświetlić oraz wybrać niezbędne właściwości.

W poniższym przykładzie wyeksportuję jedynie trzy właściwości: nazwę wyświetlaną konta, email oraz telefon. Dodanie | export-csv -path c:\temp\export.csv na końcu poniższego polecenia pozwoli dodatkowo na eksport tych trzech właściwości do pliku .csv.

Wyświetlenie jedynie trzech właściwości z konta

Get-ADUser eksport wszystkich użytkowników

Wyświetlenie właściwości jedynie dla pojedynczego użytkownika nie jest zbyt optymalne, dlatego też Get-ADUser, pozwala na dodanie parametru, który pozwoli na eksport wszystkich użytkowników w AD.

Konieczne jest usunięcie -identity oraz zastąpienie tego parametru nowym -filter. Dodałem drugiego użytkownika (beitadminpl2), bez wypełnionych pól: email oraz numeru telefonu. Wiersze nie zawierające żadnych danych, to konta Administratora oraz dwa wyłączone konta, które nie mają wypełnionych pól takich jak: wyświetlana nazwa, email oraz numer telefonu.

Pobranie właściwości wszystkich aktywnych użytkowników

Get-ADUser eksport tylko aktywnych użytkowników

W poprzednim poleceniu dodałem -filter *, jednak warto wiedzieć, że możliwe jest wyfiltrowanie konkretnych parametrów, a jednym z nich jest aktywne (włączone) konta użytkownika.

Wyświetlenie jedynie aktywnych kont w AD

Podsumowanie

W tym wpisie przedstawiłem, kilka ciekawych możliwości, które daje polecenie Get-ADUser w PowerShell. Oczywiście nie wyczerpuje on wszystkich możliwości, jednak te pokazane powyżej, pomogą w sprawnej pracy z użytkownikami Active Directory.


Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT