Uporaba Get-ADUser za pridobivanje različnih informacij o uporabnikih AD Domain

Get-aduser To je eden glavnih ukaznih polj PowerShell, ki ga lahko uporabite za pridobivanje različnih informacij o uporabnikih Active Directory in njihovih atributih. S pomočjo ukaznega okna Get-ADUser lahko pridobite vrednost katerega koli atributa uporabniškega računa AD, prikažete seznam uporabnikov v domeni s potrebnimi atributi in jih izvozite v CSV ter uporabite različna merila za izbiro uporabnikov domene.

Cmdlet Get-ADUser je na voljo od PowerShell 2.0 in je del posebnega modula Active Directory, modula Active Directory za Windows PowerShell (uveden v Windows Server 2008 R2). Zbirke RSAT-AD-PowerShell omogočajo izvajanje različnih operacij na objektih imenika AD.

Opomba. Pred tem sem moral uporabiti različna orodja, da sem dobil informacije o atributih uporabniškega računa AD: konzola ADUC (vključno s shranjenimi zahtevami AD), skripte vbs, pripomoček za dsquery itd. Vsa ta orodja lahko enostavno zamenjajo cmdlet Get-ADUser..

V tem primeru bomo pokazali, kako uporabiti ukazno vrstico PowerShell Get-ADUser za pridobivanje informacij o času, ko je bilo uporabniško geslo nazadnje spremenjeno, geslo poteče in drugi podatki o uporabniku.

Vsebina:

  • Kako najti uporabnika v AD-ju in prikazati njegove lastnosti s pomočjo Get-ADUser?
  • Pridobivanje uporabnikov iz več OU z uporabo Get-ADUser
  • Pridobite e-poštne naslove uporabnikov iz AD-ja
  • Get-ADUser: uporabnike domene izvozite v besedilno ali CSV / Excel datoteko
  • Get-ADUser -Filter: razvrstite in filtrirajte seznam uporabnikov AD
  • Get-ADUser: različni primeri uporabe

Kako najti uporabnika v AD-ju in prikazati njegove lastnosti s pomočjo Get-ADUser?

Za uporabo modula RSAT-AD-PowerShell morate zagnati konzolo PowerShell s skrbniškimi pravicami in uvoziti modul z ukazom:

Uvozni modul aktivni imenik

V operacijskem sistemu Windows Server 2012 in novejših različicah je modul RSAT-AD-PowerShell privzeto nameščen, ko je v strežnik nameščena vloga Active Directory Domain Services (AD DS). Če želite namestiti modul na strežnik člana domene, zaženite ukaz:

Namestitev-WindowsFeature -Ime "RSAT-AD-PowerShell" -IncludeAllSubFeature

V namizni različici sistema Windows (na primer v operacijskem sistemu Windows 10), da deluje poveljnik Get-AdUser, morate namestiti ustrezno različico RSAT in komponento omogočiti na nadzorni plošči Modul aktivnega imenika za Windows PowerShell (Orodja za daljinsko upravljanje strežnika -> Orodja za upravljanje vlog -> Orodja AD DS in AD LDS -> Orodja za DS DS).

Modul AD lahko namestite iz PowerShell-a:

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

Obstaja tudi način uporabe modula RSAT-AD-PowerShell, ne da bi ga namestili v računalnik. Prekopirajte glavne datoteke in uvozite modul v PoSh sejo:

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

Popoln seznam vseh argumentov v cmdlet Get-ADUser dobite na naslednji način:

pomoč Get-ADUser

Če želite uporabljati ukazni program Get-ADUser, vam ni treba uporabljati računa s pravicami skrbnika domene. Vsak pooblaščeni uporabnik AD domene lahko izvaja ukaze PowerShell, da pridobi vrednosti večine atributov objektov AD (razen zaščitenih, glejte primer LAPS). Če morate zagnati ukaz Get-ADUser iz drugega računa, uporabite parameter poverilnice.

Če želite prikazati vse račune domen, zaženite ukaz:

Get-ADUser -filter *

Je pomembno. Ni priporočljivo zagnati tega ukaza v domenah AD z velikim številom računov, kot morda preobremeniti krmilnik domene, ki zagotavlja podatke.

Če želite spremeniti uporabniške atribute, uporabite ukazni ukaz Set-ADUser.

Po privzetku cmdlet Get-ADUser vrne samo 10 osnovnih atributov (od več kot 120 lastnosti uporabniškega računa): DistinguishedName, SamAccountName, Ime, SID, UserPrincipalName, ObjectClass, stanje računa (omogočeno: True / False glede na atribut UserAccountControl) in t .d.

Izhod cmdlet ne vsebuje informacij o času zadnje spremembe uporabniškega gesla.

Za izvedbo zahteve na določenem krmilniku domene se uporabi parameter - Server:

Get-ADUSer -Server DC01.winitpro.loc-Stiskalnik identitete

Če želite prikazati popolne informacije o vseh razpoložljivih atributih uporabnika tuserja, zaženite ukaz:

Get-ADUser tuser za osebnost - Lastnosti *

Get-ADUser Cmdlet s parametrom Lastnosti * seznam vseh uporabniških atributov AD in njihovih vrednosti.

Poskusimo spremeniti parametre ukaza Get-ADUser, da prikažemo samo uporabniške atribute, ki jih potrebujemo. Lahko prikažete več uporabniških lastnosti hkrati:

  • Passwordexpired
  • PasswordLastSet
  • PasswordNeverExpires
  • lastlogontimestamp

Zaženite ukaz:

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

Zdaj podatki o uporabniku vsebujejo podatke o statusu računa (potekel: True / False), datumu spremembe gesla in času zadnjega vnosa v domeno (lastlogontimestamp). Podatke predstavimo v bolj priročni tabelarni obliki in odstranimo vse nepotrebne atribute s pomočjo Select-Object -Property ali Format-Table:

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

Pridobivanje uporabnikov iz več OU z uporabo Get-ADUser

Če želite uporabnike odstraniti samo iz vsebnika določene domene (OU), uporabite to možnost SearchBase:

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

Če morate uporabnike izbrati iz več OU hkrati, uporabite naslednjo konstrukcijo:

$ OUs = "OU = Moskva, DC = winitpro, DC = lokalno", "OU = SPB, DC = winitpro, DC = loc"
$ OU | foreach Get-ADUser -SearchBase $ _ -Filter * | izberite Ime, omogočeno

Pridobite e-poštne naslove uporabnikov iz AD-ja

Uporabniški e-poštni naslov je eden od atributov v Active Directoryu. Če želite prikazati e-poštne naslove uporabnikov, morate izbranim poljem cmdlet Get-ADUser dodati polje EmailAddress..

Get-ADUser -filter * -properties EmailAddress -SearchBase 'OU = MSK, DC = winitpro, DC = loc' | ime izbranega predmeta, e-poštni naslov

Seznam aktivnih računov s poštnimi naslovi:

Get-ADUser -Filter (mail -ne "null") -and (Omogočeno -eq "true") -Properties Priimek, ImeName, pošta | Izberi-Ime predmeta, Priimek, ImeName, pošta | Oblika tabele

Seznam uporabnikov, ki nimajo e-poštnega naslova:

Get-ADUser -Filter * -Properties EmailAddress | kjer-lastništvo EmailAddress -eq $ null

Naslednji primer vam omogoča, da izločite imenik e-poštnih naslovov podjetja v obliki datoteke csv, ki jo lahko kasneje uvozite v Outlook ali Mozilla Thunderbird:

Get-ADUser -Filter (mail -ne "null") -and (Omogočeno -eq "true") -Properties Priimek, ImeName, pošta | Izberi-Ime predmeta, Priimek, ImeName, pošta | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $ env: temp \ mail_list.csv

Get-ADUser: uporabnike domene izvozite v besedilno ali CSV / Excel datoteko

Rezultat seznama uporabnikov domene z atributi je mogoče naložiti v besedilno datoteko:

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

Uporabnike AD lahko naložite v datoteko CSV, ki jo bodo pozneje izvozili v Excel.

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | izberite Ime, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c: \ temp \ uporabniško geslo poteče-2019.csv -Append -Encoding UTF8

Get-ADUser -Filter: razvrstite in filtrirajte seznam uporabnikov AD

Uporaba parametra -Filter Seznam uporabnikov lahko filtrirate po enem ali več atributih. Vrednosti nekaterih parametrov uporabnikov Active Directory lahko določite kot argumente temu parametru. Pri uporabi parametra -Filter bo cmdlet Get-ADUser seznam le uporabnikov, ki ustrezajo kriterijem filtra..

Na primer, našteli bomo omogočene uporabniške račune, katerih ime vsebuje "Dmitrij"(spodnji primer uporablja več filtrov, pogoje lahko kombinirate s standardnimi operaterji logične primerjave PowerShell):

Get-AdUser -Filter "(Ime-podobno" * Dmitry * ") -and (Omogočeno -eq 'True')" -Prednosti * | izberite ime, omogočeno

Po želji z uporabo sortiraj objekt Seznam uporabnikov lahko razvrstite po določenem atributu. Uporabite lahko tudi cmdlet za pridobivanje uporabnikov. kje. Tu lahko uporabite tudi več filtrirnih meril hkrati..

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' | kjer je $ _. ime-podobno "* Dmitry *" -and $ _. omogočeno -eq $ true | sort-object PasswordLastSet | ime izbranega predmeta, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Tako lahko sestavite tabelo z vsemi potrebnimi atributi uporabnikov Active Directory.

Get-ADUser: različni primeri uporabe

Naprej damo nekaj uporabnih možnosti poizvedb za uporabnike Active Directory z uporabo različnih filtrov. Lahko jih združite, da dobite potreben seznam uporabnikov domene:

Kotiranje uporabnikov AD, katerih ime se začne z Rimski:

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

Če želite izračunati skupno število vseh računov v Active Directory:

Get-ADUser -Filter SamAccountName -like "*" | Ukrep-predmet

Seznam vseh aktivnih (ni blokiranih) računov v AD:

Get-ADUser -Filter Omogočeno -eq "True" | Izberite-objekt SamAccountName, ime, priimek, imeName | Oblika tabele

Natisnite datum ustvarjanja uporabniškega računa v domeni:

get-aduser -Filter * -Ime lastnosti, WhenCreate | Izberite ime, ko je ustvarjeno

Seznam vseh uporabnikov, ki so bili ustvarjeni v zadnjih 24 urah (primer tukaj):

$ lastday = ((Datum-datum) .Dnevni dnevi (-1))
Get-ADUser -filter (ko je ustvarjen -ge $ lastday)

Seznam računov s potečenim geslom (geslo je konfigurirano v pravilniku o domeni):

Get-ADUser -filter Omogočeno -eq $ True - ime lastnosti, gesloEkspirirano | kjer $ _. PasswordExpired | izberite ime, passwordexpired

Z ukaznimi elementi Get-AdUser in Add-ADGroupMember lahko ustvarite dinamične uporabniške skupine AD (odvisno od mesta, položaja ali oddelka).

Naloga: za seznam računov, ki so shranjeni v besedilni datoteki (en račun na vrstico), morate uporabniški telefon dobiti AD in podatke naložiti v besedilno datoteko csv (za nadaljnje generiranje poročil v Excelu).

Uvezi-Csv c: \ ps \ usernsme_list.csv | ForEach
Get-ADUser -identity $ _. Uporabnik -Prednosti Ime, telefonska številka |
Izberite Ime, telefonska številka |
Izvoz-CSV c: \ ps \ export_ad_list.csv -Append -Encoding UTF8

Uporabniki, ki v zadnjih 90 dneh niso spremenili svojega gesla:

$ 90_Days = (Datum-datumi) .dnevniki (-90)
Get-ADUser -filter (passwordlastset -le $ 90_days)

Če želite dobiti uporabniško fotografijo iz Active Directory in jo shraniti v datoteko jpg:

$ user = Get-ADUser winadmin-sličica lastnostiFoto
$ user.thumbnailFoto | Set-Content winadmin.jpg -Enkodiranje bajtov

Seznam skupin, v katerih je uporabniški račun

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

Seznam uporabnikov iz OU, ki so člani določene varnostne skupine:

Get-ADUser -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' -Filter * -protenties memberof | Kjer-objekt ($ _. Memberof-podoben "* WKS admins *")

Navedite domenske računalnike, ki jih uporabnik lahko vnese (omejitev prek atributa LogonWorkstations):

Get-ADUser AIvanov -Properties LogonWorkstations | Ime formata-seznama, LogonWorkstations

Namig. Za pridobitev informacij o računalnikih Active Directory uporabite ukazni ukaz Get-ADComputer.