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“
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 zobraziť všetky účty domény, spustite príkaz:
Get-ADUser -filter *
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
Ú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