Astăzi vom încerca să descarcăm lista tuturor utilizatorilor într-un fișier separat din Active Directory. PowerShell va fi principalul nostru asistent în această problemă. Acest lucru se datorează faptului că Microsoft a planificat inițial PowerShell Shell ca instrument principal pentru gestionarea componentelor serverului Windows. Și astăzi, când avem deja versiunea 2.0, în general, așa este.
Chiar și în trecutul recent, pentru a interacționa cumva cu AD, administratorii trebuiau să aibă la dispoziție fie utilitarul dsquery, fie tot felul de scripturi sau utilitare. Astăzi, începând cu Windows Server 2008 R2, putem lucra cu AD prin PowerShell. Odată cu apariția PowerShell 2.0, un modul special este utilizat pentru a interacționa cu Active Directory Modul Active Directory pentru Windows PowerShell care conține lista necesară de cmdleturi. Pentru sarcinile noastre, vom folosi comanda Get-ADUser.
Deci, în funcție de sistemul de operare pe care vom rula consola PowerShell, va trebui să facem „pași pregătitori”.
1) Dacă lucrăm de sub Windows Server până la versiunea 2012, apoi trebuie să executăm comanda:
- Import-Module activedirectory - comandă pentru importul unui modul în AD
Pentru versiunile de sistem de operare din 2012 și mai sus, acest modul este deja activat implicit.
2) Dacă lucrăm de pe orice client Windows, atunci trebuie instalat pachetul de administrare la distanță RSAT, cu componenta Active Directory Module pentru Windows PowerShell instalată.
Este de remarcat faptul că cmdletul Get-ADUser este recomandat să ruleze atunci când cantitatea de date încărcate este de până la 1000 de utilizatori.
Exportarea utilizatorilor AD utilizând PowerShell într-un fișier separat
Mai întâi, să apelăm ajutorul pentru comanda Get-ADUser. Ca urmare, veți primi toate comenzile necesare pentru administrare ulterioară.
- ajuta Get-ADUser - comanda pentru a apela ajutor
Pentru a obține o listă a tuturor utilizatorilor cu toate proprietățile într-o fereastră PowerShell, rulați următoarea comandă:
- Get-ADUser -filter * - exportul listei de utilizatori AD
Această descărcare nu este complet informativă și nu încadrează toate informațiile necesare din fereastră. Prin urmare, să încercăm să restrângem căutarea și să afișăm proprietățile unui anumit utilizator numit user1:
- Get-ADUser -identity user1 -properties * - exportul proprietăților unui anumit utilizator
Acum să încercăm să exportăm lista tuturor utilizatorilor cu proprietățile lor într-una externă. txt sau csv fişier:
- Get-ADUser -filter * -properties * | Export-csv -path c: \ users.csv -encoding Unicode - exportul utilizatorilor într-un fișier separat
Aș dori să atrag o atenție deosebită asupra cheii -codificarea Unicode... Este folosit pentru ca alfabetul chirilic rus, după exportul din AD, să poată fi afișat corect în fișierul încărcat. De exemplu, prin Microsoft Excel vom vedea semne de întrebare în loc de litere rusești.
Când vizualizați un fișier, datele sunt exportate pe o singură linie și astfel nu pot fi citite. Pentru a schimba acest lucru, trebuie să facem următoarele:
Scripturi pentru a descărca toți utilizatorii din MS Active Directory (ITGC)
Ivan PiskunovUna dintre procedurile standard de audit ITGC pentru catalog Director activ este să obțineți descărcarea tuturor utilizatorilor domeniului. Pe baza datelor primite se formează apoi proceduri de testare, de exemplu, studierea listei de administratori sau identificarea utilizatorilor cu o parolă expirată. Cel mai eficient mod de a forma o astfel de descărcare ar fi folosirea interfeței standard PowerShell , exemple din care vom lua în considerare în acest articol
1. Încărcare rapidă folosind scriptul PowerShellMai jos este un script PowerShell ca una dintre cele mai simple și rapide moduri de a obține o listă a tuturor utilizatorilor unui domeniu AD în format CSV, care poate fi deschisă fără probleme de același Excel.
$ objSearcher = New-Object System.DirectoryServices.DirectorySearcher $ objSearcher.SearchRoot = "LDAP: // ou = Utilizatori, ou = Departamente, dc = test, dc = ru" $ objSearcher.Filter = "(& (objectCategory = persoană) (! userAccountControl: 1.2.840.113556.1.4.803: = 2)) "$ utilizatori = $ objSearcher.FindAll () # Număr de conturi $ utilizatori.Număr $ utilizatori | Pentru fiecare obiect ($ user = $ _. Proprietăți New-Object PsObject -Property @ (Titlu = $ user.description Department = $ user.department Login = $ user.userprincipalname Telefon = $ user.telephonenumber Room = $ user.physicaldeliveryofficename Complet nume = $ user.cn)) | Export-Csv -NoClobber -Codificare utf8 -Calea C: list_domen_users.csv
Pentru ca scriptul să funcționeze pe sistemul dvs., trebuie să îl corectați ușor, și anume să introduceți parametrii necesari, adică. ca în acest exemplu aceștia sunt parametri Utilizatori în unitate Departamente în domeniu Test.ru. Și, de asemenea, specificați calea către locația în care este salvat fișierul list_domen_users.csv
După descărcare, dacă deschideți imediat list_domen_users.csv , va arăta într-o formă de necitit, totuși, prin mijloace standard, îl putem aduce cu ușurință în formatul de care avem nevoie. Deschidere în Excel list_domen_users.csv , selectați prima coloană, apoi accesați fila „Date” și faceți clic pe „Text după coloane”. Selectați „delimitat” și faceți clic pe „Următorul”. Gata!
! Ar trebui notat că acest script nu va afișa mai mult de 1000 de utilizatori. Este destul de potrivit pentru o companie mică, dar cei care au un număr mare de utilizatori în domeniu ar trebui să folosească metodele descrise mai jos.
2. Cmdlet PowerShell avansat pentru descărcarea utilizatorilor Active Directory
Modulul Active Directory pentru instrumentul Windows PowerShell (introdus în Windows Server 2008 R2 și mai târziu) vă permite să generați cmdlet-uri care efectuează diverse manipulări cu obiectele directorului AD. Pentru a obține informații despre utilizatori și proprietățile acestora, utilizați cmdletul Get-ADUser.
A începe lansați o fereastră Powershell
cu drepturi de administrator și importați modulul Active Directory pentru acțiuni ulterioare:
Import-Module activedirectory
La listează toate conturile de domeniu a, hai să executăm comanda:
Get-ADUser -filter *
La afișați informații complete despre toate atributele disponibile utilizator tuser, rulați comanda
Get-ADUser -identity tuser -properties *
De exemplu, ne interesează informații despre data la care a fost schimbată parola și ora la care expiră ... Rezultatul executării comenzii poate fi exportat într-un fișier text:
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Nume, PasswordExpired, PasswordLastSet, PasswordNeverExpires> C: tempusers.txt
Sau imediat încărcați în CSV , care în viitor va fi convenabil de exportat în Excel (în plus, folosind sort-obiectul, vom sorta tabelul după coloana PasswordLastSet și, de asemenea, vom adăuga condiția unde - numele de utilizator trebuie să conțină șirul „Dmitry”)
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | unde ($ _. nume –cum ar fi „* Dmitry *”) | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c: tempuser-password-expires-2015.csv
În acest articol, vom arunca o privire asupra capabilităților PowerShell pentru gestionarea grupurilor de domenii Active Directory. Vom parcurge cum să creați un grup nou în AD, să adăugați utilizatori la acesta (sau să ștergeți), să enumerați utilizatorii grupului și alte câteva trucuri utile pentru grupuri de domenii, care sunt extrem de utile în administrarea de zi cu zi. Următoarele cmdleturi de bază sunt disponibile în modulul Active Directory PowerShell pentru a gestiona grupurile AD:
Pentru a utiliza aceste cmdleturi în sesiunea dvs. PowerShell, trebuie încărcat un modul special de interacțiune AD - Modul Active Directory pentru Windows PowerShell... Acest modul a fost introdus pentru prima dată în Windows Server 208 R2. În Windows Server 2012 și versiuni ulterioare, acest modul este activat implicit. Pe computerele client, acesta poate fi instalat și activat ca una dintre componentele RSAT. Puteți verifica dacă modulul este încărcat astfel:
Get-Module -Listavailable
După cum puteți vedea, modulul ActiveDirectory este încărcat. Dacă nu, importați-l cu comanda:
Import-Module activedirectory
O listă completă a comenzilor modulelor poate fi obținută după cum urmează:
Get-Command -Module ActiveDirectory
Există 147 de cmdlet-uri disponibile în modul, dintre care 11 pot lucra cu grupuri.
Get-Command -Module ActiveDirectory -Nume „* Grup *”
Iată o listă cu ele:
- Add-ADPrincipalGroupMembership
- Get-ADAccountAuthorizationGroup
- Get-ADGroup
- Get-ADGroupMember
- Get-ADPrincipalGroupMembership
- Nou-ADGroup
- Eliminați-ADGroup
- Eliminați-ADPrincipalGroupMembership
- Set-ADGroup
Creați un nou grup în containerul specificat (OU) Active Directory utilizând comanda Nou-ADGroup:
Nou-ADGroup "TestADGroup" -calea "OU = Grupuri, OU = Moscova, DC = corp, dc = winitpro, DC = ru" -GroupScope Global -PassThru –Verbose
Folosind atributul Descriere puteți seta o descriere a grupului și folosind Numele afisat schimbați numele afișat.
Parametrul GroupScope puteți seta unul dintre următoarele tipuri de grupuri:
- 0 = DomainLocal
- 1 = Global
- 2 = Universal
Puteți crea un grup de distribuție astfel:
New-ADGroup "TestADGroup-Distr" -calea "OU = Groups, OU = Moscow, DC = corp, dc = winitpro, DC = ru" -GroupCategory Distribution -GroupScope Global -PassThru –Verbose
Add-AdGroupMember - adăugați utilizatori la grupul AD
Puteți adăuga utilizatori la un grup Active Directory utilizând Add- AdGroupMember... Să adăugăm doi utilizatori la noul grup:
Add-AdGroupMember -Identity TestADGroup -Membri utilizator1, utilizator2
Dacă lista de utilizatori de adăugat la un grup este destul de mare, puteți salva lista de conturi într-un fișier CSV, apoi importați acest fișier și adăugați fiecare utilizator în grup.
Formatul fișierului CSV este următorul (lista de utilizatori, unul pe linie, numele coloanei este utilizatori)
Import-CSV.\ Users.csv -Header users | Pentru fiecare obiect (Add-AdGroupMember -Identitate „TestADGroup” -membri $ _. Utilizatori)
Pentru a obține toți membrii unui grup (grup A) și pentru a-i adăuga la un alt grup (grup B), utilizați această comandă:
Get-ADGroupMember „GroupA” | Get-ADUser | Pentru fiecare obiect (Add-ADGroupMember -Identitate „Grupul-B” -Membri $ _)
În cazul în care trebuie să copiați membrii tuturor grupurilor imbricate într-un grup nou (recursiv), trebuie să utilizați următoarea comandă:
Get-ADGroupMember -Identitate „GroupA” -Recursiv | Get-ADUser | Pentru fiecare obiect (Add-ADGroupMember -Identitate „GroupB” -Membri $ _)
Remove-ADGroupMember - eliminați utilizatori dintr-un grup
Pentru a elimina utilizatori dintr-un grup AD, utilizați comanda Remove-ADGroupMember. Să eliminăm doi utilizatori din grup:
Remove-ADGroupMember -Identity TestADGroup -Members user1, user2
Confirmați eliminarea utilizatorilor din grup:
Dacă trebuie să eliminați utilizatori dintr-un grup conform listei dintr-un fișier CSV, utilizați următoarea comandă:
Import-CSV.\ Users.csv -Header users | Pentru fiecare obiect (Remove-ADGroupMember -Identity ‘TestADGroup’ -membri $ _. Utilizatori)
Get-ADGroup - obțineți informații despre un grup AD
Cmdletul vă va ajuta să obțineți informații despre grup. Get-ADGroup:
Get-ADGroup „TestADGroup”
Această comandă afișează informații despre atributele principale ale grupului (DN, tip de grup, nume, SID). Pentru a afișa valoarea tuturor atributelor unui grup de domenii AD, executați următoarea comandă:
Get-ADGroup "TestADGroup" -properties *
După cum puteți vedea, acum sunt afișate atribute precum timpul de creare și modificare a grupului, descrierea etc.
Folosind cmdletul Get-ADGroup, puteți găsi toate grupurile de care sunteți interesat după un anumit model. De exemplu, trebuie să găsiți toate grupurile AD care conțin expresia administratori :
Get-ADGroup -LDAPFilter „(nume = * admins *)” | Format-Tabel
Get-ADGroupMember - Listează utilizatorii unui grup AD
Afișează o listă de utilizatori dintr-un grup:
Get-ADGroupMember „TestADGroup”
Pentru a lăsa doar nume de utilizator în rezultate, rulați:
Get-ADGroupMember „TestADGroup” | ft nume
Dacă acest grup include alte grupuri în domeniu, pentru a afișa o listă completă de membri, inclusiv toate grupurile imbricate, utilizați parametrul Recursiv.
Get-ADGroupMember „server-admins „-recursive | ft name
Pentru a exporta lista de conturi aparținând unui anumit grup într-un fișier CSV (pentru utilizare ulterioară în Excel), rulați următoarea comandă:
Get-ADGroupMember „server-admins „-recursiv | ft samaccountname | Out-File c: \ ps \ admins.csv
Vom folosi cmdletul pentru a adăuga informații despre contul de utilizator AD într-un fișier text. De exemplu, pe lângă cont, trebuie să afișați poziția și numărul de telefon al utilizatorului grupului:
Get-ADGroupMember -Identity „server-admins” -recursiv | foreach (Get-ADUser $ _ -properties title, OfficePhone | Select-Object title, OfficePhone)
(Get-ADGroupMember -Identitate „administratori de domeniu”). Număr
S-a dovedit că avem 7 conturi de administrator în grupul „domain admins”.
Pentru a găsi o listă de grupuri goale într-o anumită OU, utilizați această comandă:
Get-ADGroup -Filter * -Properties Members -searchbase „OU = Moscow, DC = corp, dc = winitpro, DC = ru” | unde (-nu $ _. membri) | selectați Nume
0
Am următorul script de lucru care verifică dacă o listă mare de utilizatori dintr-un fișier CSV este membru al unui grup AD și scrie rezultatele în results.csv.
Nu sunt sigur cum să convertesc scriptul, astfel încât să pot schimba $ group = "InfraLite" în $ group = DC.\ List_Of_AD_Groups.CSV.
Astfel, scriptul nu returnează doar potriviri pentru un grup AD, ci returnează potriviri pentru 80 de grupuri AD conținute în List_of_AD_groups.csv. Scrierea DA / NU pentru fiecare grup AD într-o nouă coloană CSV (sau, dacă acest lucru nu este posibil, crearea unui fișier CSV separat pentru fiecare grup cu rezultate va fi, de asemenea.
Aș putea să o fac manual schimbând valoarea din grupul $ și numele fișierului de export și reluând scriptul de 80 de ori, dar a trebuit să fiu rapid cu PS pentru a face acest lucru
de exemplu, results.csv?:
NUME AD_GROUP1 AD_GROUP2 AD_GROUP80 etc etc. user1 da nu da user2 nu nu da user3 nu da nu echo "UserName`InfraLite" >> results.csv $ utilizatori = GC. \ user_list.csv $ group = "InfraLite" $ membri = Get-ADGroupMember -Identity $ grup -Recursiv | Selectați -ExpandProperty SAMAccountName pentru fiecare ($ utilizator în $ utilizatori) (dacă ($ membri -conține $ utilizator) (echo "$ user $ group`tYes" >> results.csv) altfel (echo "$ user`tNo" >> rezultate .csv))
2 raspunsuri
Triere:
Activitate
0
O soluție trivială la problema dvs. ar fi să vă includeți codul existent într-o altă buclă și să creați un fișier de ieșire pentru fiecare grup:
$ groups = Get-Content "C: \ groups.txt" foreach ($ grup în $ grupuri) ($ membri = Get-ADGroupMember ... ...)
O abordare mai curată ar fi să creați un șablon de mapare a grupului, să-l clonați pentru fiecare utilizator și să completați o copie cu membrii grupului utilizatorului. Ceva de genul acesta ar trebui să funcționeze:
$ șablon = @ () Get-Content „C: \ groups.txt” | ForEach-Object ($ șablon [$ _] = $ false) $ grupuri = @ () Get-ADGroup -Filter * | ForEach-Object ($ grupuri [$ _. DistinguishedName] = $ _. Nume) Get-ADUser -Filter * -Properties MemberOf | ForEach-Object ($ groupmap = $ template.Clone () $ _. MemberOf | ForEach-Object ($ grupuri [$ _]) | Where-Object ($ groupmap.ContainsKey ($ _)) | ForEach-Object ($ groupmap) [$ _] = $ true) New-Object -Type PSObject -Property $ groupmap) | Export-Csv „C: \ user_group_mapping.csv” -NoType
0
Mă joc cu asta de ceva vreme și cred că am găsit o modalitate de a-ți obține exact ceea ce căutai.
Cred că Ansgar era pe drumul cel bun, dar nu l-am putut determina să facă ce a făcut după. El a menționat că la momentul redactării acestui articol nu avea acces la mediul AD.
Asta am venit cu:
$ UserArray = Obține conținut "C: \ Temp \ Users.txt" $ GroupArray = Obține conținut "C: \ Temp \ Groups.txt" $ OutputFile = "C: \ Temp \ Something.csv" # Configurarea unui hashtable pentru utilizare ulterioară $ UserHash = New-Object -TypeName System.Collections.Hashtable # Bucla exterioară pentru a adăuga utilizatori și calitatea de membru la UserHash $ UserArray | ForEach-Object ($ UserInfo = Get-ADUser $ _ -Properties MemberOf # Stripte sintaxa LPAP doar la SAMAccountName al grupului $ Memberships = $ UserInfo.MemberOf | ForEach-Object (($ _. Split (",")) .replace ("CN =", "")) #Adăugarea perechii User = Membership la Hash $ UserHash.Add ($ _, $ Memberships)) # Bucla exterioară pentru a crea un obiect per utilizator $ Rezultate = $ UserArray | ForEach-Object (# Creați mai întâi un obiect simplu $ User = New-Object -TypeName PSCustomObject -Property @ (Name = $ _) # Adăugați în mod dinamic membri la obiect, pe baza $ GroupArray $ GroupArray | ForEach-Object (#Verificare $ UserHash pentru a vedea dacă grupul apare în lista de membri ai utilizatorului $ UserIsMember = $ UserHash. ($ User.Name) -conține $ _ #Adăugarea proprietății la obiect și valoarea $ User | Add-Member -MemberType NoteProperty -Name $ _ -Value $ UserIsMember) #Returnarea obiectului la variabila Return $ User) #Convertiți obiectele într-un CSV, apoi scoateți-le $ Rezultate | ConvertTo-CSV -NoTypeInformation | Out-File $ OutputFile
Să sperăm că totul are sens. Am comentat cât am putut. Ar fi foarte ușor să convertiți în ADSI dacă nu ați avea instalat RSAT pe orice mașină pe care îl rulați. Dacă aveți nevoie, anunțați-mă și voi face câteva modificări rapide.
Nu este un secret pentru nimeni că încă de la prima versiune de PowerShell, Microsoft a încercat să facă din acesta principalul instrument de administrare Windows. Și în multe feluri funcționează! Astăzi, cu exemple simple, vă vom arăta capabilitățile PowerShell pe care le puteți utiliza pentru a obține diverse informații despre utilizatorii Active Directory și atributele acestora.
Notă... Anterior, pentru a obține informații despre atributele conturilor de utilizator AD, trebuia să utilizați diverse instrumente: consola ADUC (inclusiv), un utilitar etc. Alegerea instrumentului s-a bazat de obicei pe sarcina la îndemână și pe capacitatea de programare a administratorului.
PowerShell 2.0 introduce un modul special pentru lucrul cu Active Directory - (introdus în Windows Server 2008 R2), ale cărui cmdlet-uri vă permit să efectuați diverse manipulări cu obiecte din directorul AD. Pentru a obține informații despre utilizatorii domeniului Active Directory și proprietățile acestora, utilizați cmdletul Get-ADUser... Puteți utiliza cmdletul Get-ADUser pentru a obține valoarea oricărui atribut al unui cont de utilizator existent în AD. În plus, puteți specifica diverse criterii de selecție și puteți genera liste de utilizatori de domeniu și atributele acestora.
În acest exemplu, vă vom arăta cum să utilizați cmdletul Get-ADUser PowerShell pentru a obține informații despre când parola unui utilizator a fost schimbată ultima dată și când va expira.
Lansați fereastra Powershll cu drepturi de administrator și importați modulul Active Directory cu comanda:
Import-Module activedirectory
Sfat... În Windows Server 2012 și versiuni ulterioare, acest element poate fi omis, deoarece modulul Active Directory PowerShell este activat în mod implicit.
În sistemele de operare client (în același Windows 10) pentru ca comandantul Get-AdUser să funcționeze, trebuie să instalați versiunea corespunzătoare de RSAT și să activați componenta în panoul de control Modul Active Directory pentru Windows PowerShell(Instrumente de administrare a serverului la distanță -> Instrumente de administrare a rolurilor -> Instrumente AD DS și AD LDS -> Instrumente AD DS).
Puteți obține o listă completă a tuturor argumentelor pentru cmdletul Get-ADUser astfel:
Ajută Get-ADUser
Pentru a lista toate conturile de domeniu, executați comanda:
Get-ADUser -filter *
Formatul listei returnate nu este foarte convenabil de utilizat, sunt afișate doar câteva 10 de bază din peste 120 de atribute și proprietăți ale conturilor de utilizator (DN, SamAccountName, Name, UPN etc.); în plus, vedem că există nu există informații despre ora ultimei modificări a parolei...
Pentru a afișa informații complete despre toate atributele disponibile ale utilizatorului tuser, rulați comanda:
Get-ADUser -identity tuser -properties *
Deci, vedem o listă completă a atributelor utilizatorului AD și a valorilor acestora asociate cu contul de utilizator. Apoi, vom trece la formatarea ieșirii cmdlet-ului Get-ADUser, astfel încât câmpurile pe care le dorim să fie afișate. Suntem interesați de atributele:
- Parola a expirat
- PasswordLastSet
- Parola nu expira niciodata
Hai să executăm comanda:
Get-ADUser tuser -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires
Acum datele utilizatorului conțin informații despre data modificării parolei și ora la care expiră. Să prezentăm informațiile într-o formă tabelară mai convenabilă:
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Nume, PasswordExpired, PasswordLastSet, PasswordNeverExpires
Pentru a afișa datele utilizatorului dintr-o anumită OU, vom folosi parametrul SearchBase:
Get-ADUser -SearchBase ‘OU = Moscow, DC = winitpro, DC = loc’ -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Nume, PasswordExpired, PasswordLastSet, PasswordNeverExpires
Rezultatul executării comenzii poate fi exportat într-un fișier text:
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Nume, PasswordExpired, PasswordLastSet, PasswordNeverExpires> C: \ temp \ users.txt
Sau în CSV, care în viitor va fi convenabil de exportat în Excel (în plus, folosind sortare-obiect sortați tabelul după coloana PasswordLastSet și adăugați, de asemenea, o condiție Unde- numele de utilizator trebuie să conțină linia „Dmitry”):
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | unde ($ _. nume –cum ar fi „* Dmitry *”) | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c: \ temp \ user-password-expires-2015.csv
Astfel, puteți construi un tabel cu orice atribute de utilizator Active Directory necesare.
Parametrul –Filter este utilizat pentru a obține o listă de conturi de utilizator AD pe baza unui criteriu specific. Ca argumente pentru acest parametru, puteți specifica valoarea anumitor atribute ale utilizatorilor Active Directory, ca urmare, cmdletul Get-ADUser va fi aplicat utilizatorilor care corespund criteriilor de filtru.
Afișarea utilizatorilor AD al căror nume începe cu Roman:
Get-ADUser -filter (nume -cum ar fi "Roman *")
Get-ADUser -Filter (SamAccountName -cum ar fi „*”) | Măsură-Obiect
Lista tuturor conturilor active (neblocate) din AD:
Get-ADUser -Filter (Activat -eq „True”) | Selectați-obiect SamAccountName, Nume, Prenume, Prenume | Format-Tabel
Lista de conturi cu parola expirată:
Get-ADUser -filter (Activat -eq $ True) -properties passwordExpired | unde ($ _. Parola a expirat)
Lista conturilor active cu adrese poștale:
Get-ADUser -Filter ((mail -ne "null") -și (Activat -eq "true")) -Properties Nume, GivenName, mail | Select-Object Name, Prenume, GivenName, mail | Format-Tabel
Sarcină: pentru o listă de conturi care sunt stocate într-un fișier text (un cont pe linie), trebuie să obțineți numărul de telefon al utilizatorului în AD și să încărcați informațiile într-un fișier text csv (le puteți importa cu ușurință în Esxel).
Import-Csv c: \ ps \ usernsme_list.csv | ForEach (Get-ADUser -identity $ _. User -Properties Name, telephoneNumber | Select Name, telephoneNumber | Export-CSV c: \ ps \ export_ad_list.csv -Append -Encoding UTF8)
Următorul exemplu vă permite să încărcați o agendă de adrese corporative ca fișier csv, pe care o puteți importa ulterior în Outlook sau Mozilla Thunderbird:
Get-ADUser -Filter ((mail -ne "null") -și (Activat -eq "true")) -Properties Nume, GivenName, mail | Select-Object Name, Prenume, GivenName, mail | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $ env: temp \ mail_list.csv
Utilizatori care nu și-au schimbat parola în ultimele 90 de zile:
$ 90_Days = (Get-Date) .adddays (-90) Get-ADUser -filter ((passwordlastset -le $ 90_days))
$ user = Get-ADUser winadmin -Properties thumbnailPhoto $ user.thumbnailPhoto | Set-Content winadmin.jpg -Encoding byte
Lista grupurilor în care se află contul de utilizator
Get-AdUser winadmin -Properties memberof | Selectați memberof -expandproperty memberof