Použitie programu Get-ADUser na získanie rôznych informácií o používateľoch domény AD

Get-ADUser Toto je jeden z hlavných rutín PowerShell, ktoré môžete použiť na získanie rôznych informácií o užívateľoch služby Active Directory a ich atribútoch. Pomocou rutiny Get-ADUser môžete získať hodnotu ľubovoľného atribútu užívateľského účtu AD, zobraziť zoznam používateľov v doméne s potrebnými atribútmi a exportovať ich do CSV a na výber používateľov domény použiť rôzne kritériá..

Rutina Get-ADUser je k dispozícii od verzie PowerShell 2.0 a je súčasťou špeciálneho modulu Active Directory, modulu Active Directory pre Windows PowerShell (zavedeného v systéme Windows Server 2008 R2). Rutiny RSAT-AD-PowerShell vám umožňujú vykonávať rôzne operácie s objektmi adresárov AD.

poznámka. Predtým som musel používať rôzne nástroje na získanie informácií o atribútoch používateľského účtu AD: konzola ADUC (vrátane uložených požiadaviek AD), skripty vbs, pomocný program dsquery atď. Všetky tieto nástroje môžu ľahko nahradiť rutinu Get-ADUser..

V tomto príklade ukážeme, ako používať rutinu PowerShell Get-ADUser na získanie informácií o čase posledného zmeny hesla používateľa, platnosti hesla a ďalších údajov používateľa..

obsah:

  • Ako nájsť používateľa v AD a zobraziť jeho vlastnosti pomocou Get-ADUser?
  • Získavanie používateľov z viacerých organizačných jednotiek pomocou programu Get-ADUser
  • Získajte e-mailové adresy používateľov z AD
  • Get-ADUser: export používateľov domény do textového súboru alebo súboru CSV / Excel
  • Get-ADUser -Filter: Zoraďte a filtrujte zoznam používateľov AD
  • Get-ADUser: rôzne príklady použitia

Ako nájsť používateľa v AD a zobraziť jeho vlastnosti pomocou Get-ADUser?

Ak chcete použiť modul RSAT-AD-PowerShell, musíte spustiť konzolu PowerShell s právami správcu a modul importovať pomocou príkazu:

Adresár importovaného modulu

V systéme Windows Server 2012 a novších verziách je modul RSAT-AD-PowerShell nainštalovaný v predvolenom nastavení, keď je na server nasadená rola služby AD DS. Ak chcete nainštalovať modul na členský server domény, spustite príkaz:

Install-WindowsFeature - Názov "RSAT-AD-PowerShell" -IncludeAllSubFeature

V pracovnej verzii systému Windows (napríklad v systéme Windows 10), aby veliteľ Get-AdUser pracoval, musíte nainštalovať príslušnú verziu RSAT a povoliť komponent v ovládacom paneli. Modul Active Directory pre Windows PowerShell (Nástroje na správu vzdialeného servera -> Nástroje na správu rolí -> Nástroje AD DS a AD LDS -> Nástroje AD DS).

AD modul môžete nainštalovať z PowerShell:

Prispôsobiteľnosť systému Windows -online -name „Rsat.ActiveDirectory.DS-LDS.Tools ~~~~ 0.0.1.0“

Existuje aj spôsob použitia modulu RSAT-AD-PowerShell bez jeho inštalácie na vašom počítači. Stačí skopírovať hlavné súbory a modul importovať do relácie PoSh:

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

Úplný zoznam všetkých argumentov k rutine Get-ADUser je možné získať nasledovne:

help Get-ADUser

Ak chcete používať rutinu Get-ADUser, nemusíte používať účet s právami správcu domény. Každý oprávnený užívateľ domény AD môže spustiť príkazy PowerShell, aby získal hodnoty väčšiny atribútov objektov AD (okrem chránených objektov, pozri príklad LAPS). Ak potrebujete spustiť príkaz Get-ADUser z iného účtu, použite parameter Credential.

Ak chcete zobraziť všetky účty domény, spustite príkaz:

Get-ADUser -filter *

Je dôležité. Neodporúča sa spúšťať tento príkaz v AD doménach s veľkým počtom účtov, napr možno preťaženie radiča domény, ktorý poskytuje údaje.

Ak chcete zmeniť atribúty používateľa, použite rutinu Set-ADUser.

V predvolenom nastavení cmdlet Get-ADUser vracia iba 10 základných atribútov (z viac ako 120 vlastností používateľského účtu): DistinguishedName, SamAccountName, Name, SID, UserPrincipalName, ObjectClass, stav účtu (Enabled: True / False podľa atribútu UserAccountControl) at. .D.

Výstup cmdlet neobsahuje informácie o čase poslednej zmeny hesla používateľa.

Na vykonanie požiadavky na konkrétnom radiči domény sa používa parameter - Server:

Get-ADUSer -Server DC01.winitpro.loc -Tentuser identity

Ak chcete zobraziť úplné informácie o všetkých dostupných atribútoch používateľa tusera, spustite príkaz:

Get-ADUser - identifikátor identity - vlastnosti *

Get-ADUser Cmdlet s parametrom Vlastnosti * zoznam všetkých atribútov používateľa AD a ich hodnôt.

Skúsme zmeniť parametre príkazu Get-ADUser tak, aby sa zobrazovali iba potrebné atribúty používateľa. Môžete zobraziť niekoľko užívateľských atribútov naraz:

  • PasswordExpired
  • PasswordLastSet
  • PasswordNeverExpires
  • lastLogonTimestamp

Spustite príkaz:

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

Informácie o užívateľovi teraz obsahujú informácie o stave účtu (uplynula: pravda / nepravda), dátum zmeny hesla a čas posledného vstupu do domény (lastlogontimestamp). Informácie uvádzame vo výhodnejšej forme tabuľky a odstránime všetky nepotrebné atribúty pomocou nástroja Select-Object -Property alebo Format-Table:

Get-ADUser -filter * -programy PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Meno, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Získavanie používateľov z viacerých organizačných jednotiek pomocou programu Get-ADUser

Ak chcete odstrániť používateľov iba z kontajnera konkrétnej domény (OU), použite túto možnosť SearchBase:

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

Ak potrebujete vybrať používateľov z viacerých organizačných jednotiek naraz, použite nasledujúcu štruktúru:

$ OUs = "OU = Moskva, DC = winitpro, DC = local", "OU = SPB, DC = winitpro, DC = loc"
$ OUs | foreach Get-ADUser - SearchBase $ _ -Filter * | vyberte Meno, Povolené

Získajte e-mailové adresy používateľov z AD

E-mailová adresa používateľa je jedným z atribútov v službe Active Directory. Ak chcete zobraziť zoznam e-mailových adries používateľov, musíte do vybratých polí cmdlet Get-ADUser pridať pole EmailAddress..

Get-ADUser -filter * -procesy EmailAddress -SearchBase 'OU = MSK, DC = winitpro, DC = loc' | názov objektu výberu, e-mailová adresa

Zoznam aktívnych účtov s poštovými adresami:

Get-ADUser -Filter (mail -ne "null") - a (Enabled -eq "true") - Príjmy, meno, pošta | Názov objektu, priezvisko, meno, pošta | Format-Table

Zoznam používateľov, ktorí nemajú e-mailovú adresu:

Get-ADUser -Filter * -Properties EmailAddress | kde - Vlastná e-mailová adresa - ekv. $ null

Nasledujúci príklad vám umožňuje uvoľniť adresár firemných e-mailových adries vo forme súboru csv, ktorý je možné neskôr importovať do programov Outlook alebo Mozilla Thunderbird:

Get-ADUser -Filter (mail -ne "null") - a (Enabled -eq "true") - Príjmy, meno, pošta | Názov objektu, priezvisko, meno, pošta | Exportovať-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $ env: temp \ mail_list.csv

Get-ADUser: export používateľov domény do textového súboru alebo súboru CSV / Excel

Výsledný zoznam používateľov domény s atribútmi je možné nahrať do textového súboru:

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

Alebo môžete nahrať používateľov AD do súboru CSV, ktorý sa neskôr pohodlne exportuje do Excelu.

Get-ADUser -filter * -programy PasswordExpired, PasswordLastSet, PasswordNeverExpires | vyberte Meno, HesloExpired, PasswordLastSet, PasswordNeverExpires | Export-csv-cesta c: \ temp \ user-password-expires-2019.csv -Append -Encoding UTF8

Get-ADUser -Filter: Zoraďte a filtrujte zoznam používateľov AD

Pomocou parametra -filter Zoznam používateľov môžete filtrovať podľa jedného alebo viacerých atribútov. Ako parametre tohto parametra môžete zadať hodnoty určitých atribútov používateľov služby Active Directory. Keď použijete parameter -Filter, v rutiny Get-ADUser sa uvedú iba používatelia, ktorí zodpovedajú kritériám filtra..

Uvádzame napríklad zoznam povolených používateľských účtov, ktorých meno obsahuje „Dmitry„(v nasledujúcom príklade sa používa viacnásobný filter, podmienky môžete kombinovať pomocou štandardných operátorov logického porovnávania PowerShell):

Get-AdUser -Filter "(podľa mena '* Dmitry *') - a (povolený - ekv. 'True')" - vlastnosti * | vyberte meno, povolené

Voliteľné použitie sort-object Zoznam používateľov môžete zoradiť podľa konkrétneho atribútu. Rutinu môžete tiež použiť na načtenie používateľov. kde. Tu môžete tiež použiť niekoľko kritérií filtrovania naraz..

Get-ADUser -filter * -programy PasswordExpired, PasswordLastSet, PasswordNeverExpires -SearchBase 'OU = Moskva, DC = winitpro, DC = loc' | kde $ _. meno-ako "* Dmitry *" - a $ _. Povolené -eq $ true | sort-object PasswordLastSet | názov objektu select, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Takto môžete zostaviť tabuľku s akýmikoľvek potrebnými atribútmi používateľov služby Active Directory.

Get-ADUser: rôzne príklady použitia

Ďalej dávame niektoré užitočné možnosti dotazov pre používateľov služby Active Directory pomocou rôznych filtrov. Môžete ich skombinovať a získať potrebný zoznam používateľov domény:

Zoznam používateľov AD, ktorých meno začína na rímsky:

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

Výpočet celkového počtu všetkých účtov v službe Active Directory:

Get-ADUser -Filter SamAccountName-like "*" | Measure-Object

Zoznam všetkých aktívnych (neblokovaných) účtov v AD:

Get-ADUser -Filter Enabled -eq "True" |. Názov objektu SamAccountName, meno, priezvisko, krstné meno | Format-Table

Vytlačte dátum vytvorenia používateľského účtu v doméne:

get-aduser -Filter * - Názov vlastníctva, Keď je vytvorený | Vyberte meno po vytvorení

Zoznam všetkých používateľov, ktorí boli vytvorené za posledných 24 hodín (príklad odtiaľto):

$ lastday = ((Get-Date) .AddDays (-1))
Get-ADUser -filter (keď sa vytvoril -ge $ minulý deň)

Zoznam účtov s vypršaným heslom (heslo je nakonfigurované v politike domény):

Get-ADUser -filter Enabled -eq $ True -properties name, passwordExpired | kde $ _. PasswordExpired | vyberte meno, passwordexpired

Rutiny cmdletov Get-AdUser a Add-ADGroupMember môžete použiť na vytvorenie dynamických skupín používateľov služby AD (v závislosti od mesta, polohy alebo oddelenia)..

Úloha: pre zoznam účtov, ktoré sú uložené v textovom súbore (jeden účet na riadok), musíte získať telefón používateľa z AD a nahrať informácie do textového súboru CSV (pre ďalšie generovanie zostáv v Exceli).

Import-Csv c: \ ps \ usernsme_list.csv | ForEach
Get-ADUser -identity $ _. User -Properties Name, phoneNumber |
Vyberte Meno, telefónne číslo |
Exportovať CSV c: \ ps \ export_ad_list.csv -Append -Encoding UTF8

Používatelia, ktorí nezmenili svoje heslo za posledných 90 dní:

$ 90_Days = (dátum prijatia). Dni (-90)
Get-ADUser -filter (passwordlastset -le 90 $_days)

Ak chcete získať fotografiu používateľa zo služby Active Directory a uložiť ju do súboru jpg:

$ user = Get-ADUser winadmin -Properties thumbnailPhoto
$ user.thumbnailPhoto | Set-Content winadmin.jpg - Kódovanie bajtov

Zoznam skupín, v ktorých sa používateľský účet nachádza

Get-AdUser winadmin -Vlastnosti člena | Vyberte člena --expandandperpertyofof

Zoznam používateľov z OU, ktorí sú členmi konkrétnej skupiny zabezpečenia:

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

Zoznam doménových počítačov, do ktorých má užívateľ povolenie zadať (obmedzenie prostredníctvom atribútu LogonWorkstations):

Get-ADUser AIvanov -Vlastnosti prihláseniaWorkstations | Názov zoznamu formátov, LogonWorkstations

rada. Ak chcete získať informácie o počítačoch Active Directory, použite rutinu Get-ADComputer.