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 PowerShell
Install-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ślnie
Get-ADObject
cmdlet zwróci tylko jeden zestaw 1000 obiektów reklamowych. Najlepszym sposobem nadpisania tej konfiguracji jest użycie parametruResultSetSize
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-ADObject
sprawdź 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:
ś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-ADOrganizationalUnit
PowerShell 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 parametru
Filter
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-ADObject
SearchBase
., 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 Filter
wartość 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.
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.
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
.,
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.,
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.
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