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"
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
Za popis svih računa domene pokrenite naredbu:
Get-ADUser -filter *
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
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