Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Programe
  • Gestionarea grupurilor AD utilizând PowerShell Cum să obțineți o listă cu grupurile AD selectate din care face parte o listă mare de utilizatori

Gestionarea grupurilor AD utilizând PowerShell Cum să obțineți o listă cu grupurile AD selectate din care face parte o listă mare de utilizatori

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 Piskunov

Una 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 PowerShell

Mai 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

Top articole similare