szukasz szybkiego sposobu na utworzenie raportu Active Directory (AD) za pomocą PowerShell? Trafiłeś we właściwe miejsce! W tym artykule dowiesz się, jak tworzyć niestandardowe raporty kont użytkowników w środowisku reklamowym za pomocą Get-ADObject cmdlet.

wyobraź sobie, że pracujesz w firmie startupowej i dowiedz się, że firma otrzymała fundusze od inwestorów na rozwój firmy poprzez zatrudnianie nowych osób na kilka stanowisk., Twój menedżer prosi Cię o dostarczenie jej raportu na temat liczby pracowników dla każdego biura, aby upewnić się, że miejsce pracy ma wystarczającą powierzchnię biurową.

zwykle można ręcznie przeglądać konta reklamowe za pomocą konsoli aplikacji Active Directory Users and Computers (ADUC) zainstalowanej na komputerze stacjonarnym. Jednak korzystanie z ADUC zajmuje średnio jedną minutę na nowego pracownika, aby przejrzeć informacje dla każdego konta reklamowego.,

szybko przeszukiwasz Internet w poszukiwaniu niektórych opcji i odkrywasz, że możesz zautomatyzować zbieranie danych raportu reklamowego za pomocą cmdletu PowerShell o nazwieGet-ADObject. W tym artykule dowiesz się, co robi Get-AdObject PowerShell cmdlet i jak prawidłowo używać tego poręcznego PowerShell cmdlet do automatyzacji tworzenia raportów.

spis treści

wymagania wstępne/wymagania

Ten artykuł będzie przeglądarką za pomocąGet-ADObject., Jeśli planujesz śledzić, upewnij się, że masz następujące warunki wstępne:

  • zalogowany na komputerze z systemem Windows 10 podłączonym do domeny jako użytkownik z prawami do zapytań użytkowników reklam
  • w środowisku Active Directory Windows Server 2016 lub nowszym. Laboratorium, z którym będziesz pracować w tym artykule nazywa się mylab.lokalne.
  • Pakiet Remote Server Administration Tools (RSAT)

szybka wskazówka: Jeśli nie masz zainstalowanego RSAT i używasz najnowszej wersji systemu Windows 10, możesz szybko zainstalować go za pomocą polecenia PowerShellInstall-WindowsFeature -Name RSAT-AD-PowerShell.,

Get-ADObject: to Opcje i parametry

głównym celemGet-ADObject cmdlet jest połączenie się z kontrolerem domeny AD lub serwerem Lightweight Directory Service (LDS) i zwrócenie informacji o różnych obiektach Active Directory.

aby odpytywać obiekty AD,Get-ADObject cmdlet ma wiele parametrów pozwalających na łączenie się z różnymi kontrolerami domeny, wyszukiwanie globalnego katalogu, uwierzytelnianie za pomocą alternatywnych poświadczeń, a także określanie filtrów LDAP i ograniczanie obiektów zwracanych przez zakres dla bazy wyszukiwania.,

zauważ, że domyślnieGet-ADObject cmdlet zwróci tylko jeden zestaw 1000 obiektów reklamowych. Najlepszym sposobem nadpisania tej konfiguracji jest użycie parametru ResultSetSize określającego maksymalną liczbę obiektów do zwrócenia. Jeżeli chcesz otrzymać wszystkie obiekty, Ustaw ten parametr na $NULL (wartość null). Następnie możesz użyć Ctrl+C, aby zatrzymać zapytanie i powrót obiektów.,

aby uzyskać więcej informacji na temat parametrówGet-ADObjectsprawdź dokumentację pomocyGet-ADObject.

zarys projektu edukacyjnego

Ten artykuł nauczy Cię cmdletuGet-ADObject PowerShell poprzez zastosowanie go do rzeczywistego scenariusza. Dowiesz się, zbliżając się do scenariusza wyjaśnionego we wstępnych akapitach.

Scenariusz

w tym artykule dowiesz się, jak używaćGet-ADObject do generowania dwóch raportów do wysłania do menedżera., Pierwszy raport spowoduje rozbicie wszystkich kont użytkowników w każdym dziale. Szef prosi o osobne pliki CSV dla każdego działu. Drugie zadanie odpytuje wszystkie wyłączone konta użytkowników w określonym OU i jego podrzędnych ou.,

na końcu artykułu będziesz mógł wygenerować pliki CSV, które wyglądają następująco:

konta użytkowników AD według OU
wyłączone konta użytkowników

środowisko reklam

struktura jednostki organizacyjnej usługi Active Directory, z którą będziesz pracować w tym artykule wygląda jak poniżej., Widać, że mamy Wydział rodzicielski z trójką dzieci ou o nazwie Księgowość, Marketing i IT. Wewnątrz każdego z tych ou dzieci są dwa ou wnuków zwanych użytkowników i komputerów.

  • Dział (OU)
    – Księgowość (OU)
    – użytkownicy
    – Komputery
    – Marketing (zagnieżdżone OU)
    – użytkownicy
    – IT (zagnieżdżone OU)
    – użytkownicy
    – Komputery

Skrót: możesz zbudować te ou za pomocąNew-ADOrganizationalUnitPowerShell cmdlet. Aby skrypt szybko zadziałał, sprawdź skrypt Create-ou-Structure. ps1.,

będziesz również pracować z dziesiątkami różnych kont użytkowników reklam znajdujących się wewnątrz każdego z ou Użytkowników, jak pokazano poniżej. Nazwy te były wybierane losowo.

  • Accounting (accountant_user1-5)
  • Marketing (market_user_user1-5)
  • IT (it_user1-5)

Skrót: jeśli chcesz szybko utworzyć te konta użytkowników wewnątrz wyżej wymienionych ou, Pobierz i uruchom wypełniacz-AD_Accounts.ps1 scenariusz.,

tworzenie raportów Active Directory za pomocą Get-ADObject

wystarczy wprowadzenie i podstawowe informacje na tematGet-ADObject. w końcu przejdźmy do nauki, jak ten cmdlet PowerShell działa w prawdziwym świecie!

w tym pierwszym przykładzie Twoim zadaniem jest dostarczenie menedżerowi pliku CSV z raportem dla wszystkich kont użytkowników, które istnieją w dziale księgowości, marketingu i IT ou.,

zrozumienie parametru filtra

jedynym wymaganym parametremGet-ADObject cmdlet PowerShell jestFilter. Parametr ten jest jednym ze sposobów ograniczenia ilości zwracanych obiektów. Ponieważ jest to wymagany parametr, musisz go zdefiniować, nawet jeśli chcesz zwrócić wszystkie obiekty za pomocą znaków wieloznacznych (*). Powoduje to, że Get-ADObject zwraca wszystkie obiekty.

najprostszym przykładem użycia parametruFilter jest zwrócenie wszystkich obiektów w całej domenie reklam, jak poniżej.,

PS51> Get-ADObject -Filter *

zobaczysz parametrFilter używany zarówno do zwracania wszystkich obiektów, jak i do ograniczania zakresu zwracanych obiektów w tym artykule.

aby uzyskać więcej informacji na temat składni parametruFilter UruchomGet-Help about_ActiveDirectory_Filter w konsoli PowerShell.

ograniczanie zakresu wyszukiwania przy użyciu parametru SearchBase

przykład, z którym pracujesz, jest idealnym przykładem zastosowania parametruGet-ADObjectSearchBase., ParametrSearchBase pozwala ograniczyć zapytanie, a tym samym obiekty zwracane przez Get-ADObject poprzez ograniczenie zakresu do określonego OU.

ograniczając zakres, skraca to czas potrzebny na uruchomienieGet-ADObject, wykluczając inne Ou w reklamie i kierując tylko konkretny OU, który jest odpowiedni do pobierania potrzebnych danych.

w tym przykładzie wyciągnij wszystkich użytkowników reklam w dziale rodzica i wszystkich ou dzieci, jak poniżej. Zwróci to wszystkich użytkowników w dziale OU i we wszystkich ou dzieci.,

PS51> Get-ADObject -Filter * -SearchBase 'OU=Department,DC=mylab,DC=local'

korzystając z parametru filtra

od teraz możesz odpytywać wszystkie obiekty użytkownika w dziale OU i wszystkie potomne ou. Ale to nie jest wymagane w tym momencie. Zamiast tego wyciągnijmy najpierw wszystkich użytkowników księgowości. Jednym ze sposobów jest użycie parametru Filter, a nie tylko podanie wartości wieloznacznej.

aby ograniczyć wyniki, użyj Filterwartość Department -eq 'Accounting'., Ogranicza to wyniki Tylko do tych obiektów w dziale OU, które mają atrybut AD department ustawiony na Accounting.

poniżej widać, że przechowujesz wszystkie obiekty w zmiennej$accounting_users. Zostanie to wykorzystane później.

PS51> $accounting_users = Get-ADObject -SearchBase 'OU=Department,DC=mylab,DC=local' -Filter {Department -eq "Accounting"}

wysyłanie obiektów reklam do pliku CSV

teraz, gdy $accounting_users zawiera wszystkie odpowiednie obiekty, możesz przesyłać tylko Name I Department właściwości dla każdego obiektu Export-Csv cmdlet., Ten cmdlet tworzy nowy plik CSV i przechowuje każdy obiekt reklamowy jako wiersz.

powinieneś mieć teraz plik CSV o nazwie report_accounting_users.plik csv na pulpicie wygląda jak zrzut ekranu poniżej.

report_accounting_users.csv

zbieranie innych obiektów użytkownika

teraz, gdy znasz podstawy korzystania zGet-ADObject aby znaleźć użytkowników AD, rozszerz to, aby znaleźć obiekty użytkownika dla innych działów. Będziesz używał tej samej ogólnej koncepcji, co wcześniej.,

najpierw znajdź wszystkich użytkowników reklamy w biurze w San Francisco.

report_sanfrancisco_office_users.csv

następnie znajdź wszystkich użytkowników pracujących w biurze na Florydzie. Ten przykład jest nieco inny, ponieważ używasz obliczonych właściwości cmdletaSelect-Object. Pozwala to na przekształcenie nazwy właściwości obiektu z prostego st, która pochodzi z Get-ADObject na bardziej opisową State.,

report_florida_state_users.csv

wreszcie Zbierz wszystkich użytkowników IT. Tym razem, zamiast używać atrybutu Department AD, użyj parametru Filter, aby znaleźć wszystkie obiekty o nazwie zaczynającej się od niego.

Uwaga: zamiast używaćobjectClass -eq 'user' w poprzednim przykładzie można było również użyćGet-AdUser cmdlet.,

report_select_users.csv

znajdowanie wyłączonych kont za pomocą filtra LDAP

w poprzednim przykładzie użyłeś parametru Filter aby ograniczyć obiekty zwracane przez Get-ADObject. Innym sposobem jest użycie parametru LDAPFilter. Parametr ten wykonuje to samo zadanie, ale pozwala określić filtr za pomocą ciągu Wyszukiwania zapytania LDAP., Parametr LDAPFilter jest uważany za bardziej zaawansowaną opcję wyszukiwania Active Directory.

stwórzmy teraz raport, aby znaleźć wszystkich wyłączonych użytkowników w Twojej organizacji, używając parametrówLDAPFilter ISearchBase do kierowania konkretnego OU.

useraccountcontrol:1.2.840.113556.1.4.803:=2 ustawienie jest atrybutem ad określonym dla wszystkich wyłączonych użytkowników w bazie danych Active Directory NTDS. Jest to sposób, aby reklama oznaczała konta, które nie są aktywne (logowanie jest wyłączone)., Oto więcej przykładowych zapytań LDAP, które mogą okazać się przydatne.

poniższe polecenie uruchamia parametr filtra LDAP używany do wyświetlania tylko wyłączonych użytkowników, a następnie tworzy raport za pomocąExport-CSV cmdlet, tak jak wcześniej.

report_disabled_users.csv

wynik końcowy

powinieneś mieć teraz pięć plików CSV na pulpicie gotowych dla Twojego menedżera!,

podsumowanie

w tym artykule nauczyłeś się, jak przeszukiwać Active Directory za pomocąGet-ADObject cmdlet PowerShell.

Co dalej?

aby przenieść to, czego się nauczyłeś dalej, przenieś ten proces generowania raportów reklam na wyższy poziom, eksportując dane do bazy danych. W bazie danych można uzyskać dostęp do danych raportu reklamowego za pomocą niestandardowej witryny internetowej lub aplikacji, takiej jak Microsoft SharePoint. To tylko jeden pomysł. Jest mnóstwo innych!,

możliwość przeszukiwania usługi Active Directory to podstawowy zestaw umiejętności potrzebnych w wielu organizacjach, który ostatecznie pozwoli zaoszczędzić Tobie i Twojemu zespołowi wiele godzin czasu.

Czytaj dalej

  • Skrypty Active Directory
  • dokumentacja Microsoft