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"
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 prikazati vse račune domen, zaženite ukaz:
Get-ADUser -filter *
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
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