Korištenje Get-ADUser za dobivanje različitih informacija o korisnicima AD domene

Get-ADUser Ovo je jedan od glavnih PowerShell cmdleta koji možete koristiti za dobivanje različitih informacija o Active Directory korisnicima i njihovim atributima. Korištenjem cmdleta Get-ADUser možete dobiti vrijednost bilo kojeg atributa AD korisničkog računa, prikazati popis korisnika u domeni s potrebnim atributima i izvesti ih u CSV te pomoću različitih kriterija odabrati korisnike domene.

Cmdlet Get-ADUser dostupan je od PowerShell 2.0 i dio je posebnog modula Active Directory, modula Active Directory za Windows PowerShell (uvedenog u Windows Server 2008 R2). RSAT-AD-PowerShell cmdleti vam omogućuju obavljanje različitih operacija na objektima AD kataloga.

primjedba. Prije toga, morao sam koristiti različite alate za dobivanje podataka o atributima AD korisničkog računa: ADUC konzola (uključujući spremljene AD zahtjeve), vbs skripte, program dsquery itd. Svi ovi alati mogu lako zamijeniti Get-ADUser cmdlet..

U ovom primjeru pokazat ćemo kako koristiti PowerShell Get-ADUser cmdlet za dobivanje podataka o vremenu posljednje promjene korisničke lozinke, isteku lozinke i drugim korisničkim podacima.

sadržaj:

  • Kako pronaći korisnika u AD-u i prikazati njegova svojstva pomoću Get-ADUser?
  • Dohvaćanje korisnika iz više OU pomoću Get-ADUser
  • Dohvati adrese korisnika e-pošte iz AD-a
  • Get-ADUser: izvezite korisnike domene u tekst ili CSV / Excel datoteku
  • Get-ADUser -Filter: sortirajte i filtrirajte popis korisnika AD-a
  • Get-ADUser: različiti primjeri upotrebe

Kako pronaći korisnika u AD-u i prikazati njegova svojstva pomoću Get-ADUser?

Za upotrebu RSAT-AD-PowerShell modula trebate pokrenuti PowerShell konzolu s administratorovim pravima i uvesti modul sa naredbom:

Uvoz-modul aktivni direktorij

U sustavu Windows Server 2012 i novijim modulima RSAT-AD-PowerShell instaliran je prema zadanim postavkama kada se uloga aktivnog direktorija domene (AD DS) rasporedi na poslužitelj. Da biste instalirali modul na poslužitelju člana domene, pokrenite naredbu:

Instalacija-WindowsFeature -Namje "RSAT-AD-PowerShell" -IncludeAllSubFeature

U radnoj verziji sustava Windows (na primjer, u sustavu Windows 10) da bi narednik Get-AdUser radio, morate instalirati odgovarajuću verziju RSAT-a i omogućiti komponentu na upravljačkoj ploči Modul aktivnog imenika za Windows PowerShell (Alati za daljinsko upravljanje poslužiteljima -> Alati za upravljanje ulogama -> AD DS i AD LDS Alati -> AD DS Alati).

ADS modul možete instalirati iz PowerShell-a:

Add-WindowsCapability -online -Name "Rsat.ActiveDirectory.DS-LDS.Tools ~~~~ 0.0.1.0"

Postoji i način da koristite RSAT-AD-PowerShell modul bez instaliranja na računalo. Samo kopirajte glavne datoteke i uvezite modul u PoSh sesiju:

Uvoz-modul "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.dll"
Uvoz-modul "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.resources.dll"

Potpuni popis svih argumenata na cmdletu Get-ADUser može se dobiti na sljedeći način:

pomoć Get-ADUser

Da biste koristili cmdlet Get-ADUser, ne morate koristiti račun s administratorskim pravima domene. Svaki ovlašteni korisnik AD domene može pokrenuti naredbe PowerShell da bi dobio vrijednosti većine atributa AD objekata (osim zaštićenih, pogledajte primjer LAPS). Ako trebate pokrenuti naredbu Get-ADUser s drugog računa, upotrijebite parametar Vjerodostojnost.

Za popis svih računa domene pokrenite naredbu:

Get-ADUser -filter *

Važno je. Ne preporučuje se pokretanje ove naredbe u AD domenama s velikim brojem računa, kao moguće preopterećenje kontrolera domene koji pruža podatke.

Za promjenu korisničkih atributa koristite cmdlet Set-ADUser.

Prema zadanim postavkama, cmdlet Get-ADUser vraća samo 10 osnovnih atributa (od više od 120 svojstava korisničkog računa): DistinguishedName, SamAccountName, Name, SID, UserPrincipalName, ObjectClass, status računa (omogućeno: True / False u skladu s atributom UserAccountControl) i t .d.

Izlaz cmdlet ne sadrži podatke o vremenu zadnje promjene korisničke lozinke.

Za izvršenje zahtjeva na određenom kontroleru domene koristi se parametar - poslužitelj:

Get-ADUSer -Server DC01.winitpro.loc -Izvanost tstusera

Za prikaz potpunih podataka o svim dostupnim atributima tuser korisnika, pokrenite naredbu:

Get-ADUser tuser - osobine *

Get-ADUser cmdlet s parametrom Svojstva * navesti sve AD korisničke atribute i njihove vrijednosti.

Pokušajmo promijeniti parametre naredbe Get-ADUser kako bi se prikazali samo korisnički atributi koji su nam potrebni. Možete prikazati nekoliko korisničkih atributa odjednom:

  • PasswordExpired
  • PasswordLastSet
  • PasswordNeverExpires
  • lastlogontimestamp

Pokrenite naredbu:

Get-ADUser tuser - svojstva PasswordExpired, PasswordLastSet, PasswordNeverExpires, lastlogontimestamp

Sada informacije o korisniku sadrže podatke o statusu računa (Istekao: Istina / Netačno), datumu promjene lozinke i vremenu posljednje prijave na domenu (lastlogontimestamp). Informacije prezentiramo u prikladnijem tabelarnom obliku i uklanjamo sve nepotrebne atribute pomoću Select-Object -Property ili Format-Table:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Naziv, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Dohvaćanje korisnika iz više OU pomoću Get-ADUser

Za uklanjanje korisnika samo iz određenog kontejnera domene (OU) koristite opciju SearchBase:

Get-ADUser -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Naziv, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Ako trebate odabrati korisnike iz nekoliko OU-a odjednom, koristite sljedeću konstrukciju:

$ OUs = "OU = Moskva, DC = winitpro, DC = lokalno", "OU = SPB, DC = winitpro, DC = loc"
$ OU | foreach Get-ADUser -SearchBase $ _ -Filter * | odaberite Ime, Omogućeno

Dohvati adrese korisnika e-pošte iz AD-a

Korisnička e-pošta jedan je od atributa u Active Directoryu. Za popis adresa e-pošte korisnika morate dodati polje EmailAddress u odabrana polja cmdleta Get-ADUser..

Get-ADUser -filter * -properties EmailAddress -SearchBase 'OU = MSK, DC = winitpro, DC = loc' | Naziv odabranog objekta, adresa e-pošte

Navedi aktivne račune s poštanskim adresama:

Get-ADUser -Filter (mail -ne "null") -and (Omogućeno -eq "true") -Preduzeća Prezime, ImeNaziv, pošta | Odaberite-Ime objekta, Prezime, ImeNema, pošta | Format-tablica

Popis korisnika koji nemaju adresu e-pošte:

Get-ADUser -Filter * -Properties EmailAddress | pri čemu je -Vrijednost adrese e-pošte -eq $ null

Sljedeći primjer omogućuje vam da istovarite adresar adresa adresa e-pošte tvrtke u obliku CSV datoteke koja se kasnije može uvesti u Outlook ili Mozilla Thunderbird:

Get-ADUser -Filter (mail -ne "null") -and (Omogućeno -eq "true") -Preduzeća Prezime, ImeNaziv, pošta | Odaberite-Ime objekta, Prezime, ImeNema, pošta | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $ env: temp \ mail_list.csv

Get-ADUser: izvezite korisnike domene u tekst ili CSV / Excel datoteku

Rezultat popisa korisnika domene s atributima može se prenijeti u tekstualnu datoteku:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Naziv, PasswordExpired, PasswordLastSet, PasswordNeverExpires> C: \ temp \ users.txt

Ili možete prenijeti korisnike AD-a u CSV datoteku koja će se kasnije povoljno izvoziti u Excel.

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | odaberite Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c: \ temp \ user-lozinka-istekne-2019.csv -Append -Encoding UTF8

Get-ADUser -Filter: sortirajte i filtrirajte popis korisnika AD-a

Pomoću parametra -filter Možete filtrirati popis korisnika po jednom ili više atributa. Možete odrediti vrijednosti određenih atributa korisnika Active Directory kao argumente ovom parametru. Kada koristite parametar -Filter, cmdlet Get-ADUser popisat će samo korisnike koji odgovaraju kriterijima filtra..

Na primjer, navest ćemo omogućene korisničke račune čije ime sadrži "Dmitry"(primjer dolje koristi više filtera. Možete kombinirati uvjete pomoću standardnih PowerShell logičkih operatora za usporedbu):

Get-AdUser -Filter "(Ime-slično '* Dmitry *') -and (Omogućeno -eq 'True')" -Svojstva * | odaberite ime, omogućeno

Po želji pomoću vrsta-objekt Popis korisnika možete sortirati prema određenom atributu. Možete koristiti cmdlet i dohvatiti korisnike. gdje. Ovdje također možete koristiti nekoliko kriterija filtriranja odjednom..

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' | gdje je $ _. ime-slično „* Dmitrij *“ -i $ _. Omogućeno -eq $ true | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Stoga možete napraviti tablicu s bilo kojim potrebnim atributima korisnika Active Directorya.

Get-ADUser: različiti primjeri upotrebe

Dalje, dajemo neke korisne opcije upita za korisnike Active Directorya pomoću raznih filtera. Možete ih kombinirati da biste dobili potreban popis korisnika domene:

Oglas AD korisnika čije ime počinje sa rimski:

Get-ADUser -filter name -like "Roman *"

Da biste izračunali ukupan broj svih računa u Active Directoryu:

Get-ADUser -Filter SamAccountName -like "*" | Mjera-objekt

Popis svih aktivnih (nije blokiranih) računa u AD-u:

Get-ADUser -Filter Omogućeno -eq "Točno" | Select-Object SamAccountName, ime, prezime, imeName | Format-tablica

Ispišite datum stvaranja korisničkog računa u domeni:

get-aduser -Filter * -Ime svojstava, Kada se kreira | Odaberite ime kada se Stvori

Navedi sve korisnike koji su stvoreni u posljednja 24 sata (primjer ovdje):

$ lastday = ((Datum-datum) .Dodaj (-1))
Get-ADUser -filter (kada je kreiran -ge $ lastday)

Popis računa s istekom lozinke (lozinka je konfigurirana u pravilima domene):

Get-ADUser -filter Omogućeno -eq $ True-ime vlasništva, lozinkaEkspirirano | gdje $ _. PasswordExpired | odaberite ime, passwordexpired

Možete koristiti cmdlete Get-AdUser i Add-ADGroupMember za stvaranje dinamičnih korisničkih grupa AD (ovisno o gradu, položaju ili odjelu).

Zadatak: za popis računa koji su pohranjeni u tekstualnoj datoteci (jedan račun po retku), morate dobiti korisnički račun iz AD-a i poslati podatke u tekstualnu csv datoteku (za daljnje generiranje izvještaja u Excelu).

Uvezi-Csv c: \ ps \ usernsme_list.csv | ForEach
Dobivanje ADUser-a $ _. Korisnik -Svojstva Ime, broj telefona |
Odaberite Ime, broj telefona |
Export-CSV c: \ ps \ export_ad_list.csv -Append -Encoding UTF8

Korisnici koji nisu promijenili zaporku u posljednjih 90 dana:

$ 90_Days = (Datum-datum) .adddays (-90)
Get-ADUser -filter (passwordlastset -le $ 90_days)

Da biste dobili korisničku fotografiju iz Active Directory-a i spremili je u jpg datoteku:

$ user = Get-ADUser winadmin-sličice proizvodaFoto
$ user.thumbnailFoto | Set-Content winadmin.jpg -Binkt kodiranja

Popis grupa na kojima se nalazi korisnički račun

Get-AdUser winadmin -Properties memberof | Odaberite memberof -expandproperty memberof

Navedite korisnike iz OU-a koji su članovi određene sigurnosne skupine:

Get-ADUser -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' -Filter * -probleties memberof | Where-Object ($ _. Memberof nalik "* WKS admins *")

Navedi računala na domeni koja je korisniku dopušteno unijeti (ograničenje putem atributa LogonWorkstations):

Get-ADUser AIvanov -Properties LogonWorkstations | Naziv liste oblika, LogonWorkstations

vijeće. Za dobivanje informacija o Active Directory računalima, koristite cmdlet Get-ADComputer.