Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Programi
  • Upravljanje AD grupama pomoću PowerShell-a Kako doći do liste odabranih AD grupa čiji je veliki spisak korisnika

Upravljanje AD grupama pomoću PowerShell-a Kako doći do liste odabranih AD grupa čiji je veliki spisak korisnika

Danas ćemo pokušati da izbacimo listu svih korisnika u zasebnu datoteku iz Active Directory-a. PowerShell će biti naš glavni pomoćnik u ovoj stvari. To je zato što je Microsoft prvobitno planirao PowerShell Shell kao primarni alat za upravljanje komponentama Windows servera. A danas, kada već imamo verziju 2.0, uglavnom je tako.

Čak iu nedavnoj prošlosti, da bi na neki način stupili u interakciju sa AD, administratori su morali da imaju na raspolaganju ili dsquery uslužni program, ili sve vrste skripti ili uslužnih programa. Danas, počevši od Windows Servera 2008 R2, možemo raditi sa AD preko PowerShell-a. Sa pojavom PowerShell-a 2.0, koristi se poseban modul za interakciju sa Active Directory-jem Modul Active Directory za Windows PowerShell koji sadrži potrebnu listu cmdlet-a. Za naše zadatke koristit ćemo naredbu Get-ADUser.

Dakle, u zavisnosti od toga na kom operativnom sistemu ćemo pokrenuti PowerShell konzolu, moraćemo da izvršimo "pripremne korake".

1) Ako radimo ispod Windows Servera do verzije 2012, tada trebamo izvršiti naredbu:

  • Uvozni modul aktivni direktorij - komanda za uvoz modula u AD

Za verzije operativnog sistema od 2012. i novije, ovaj modul je već uključen po defaultu.

2) Ako radimo sa bilo kog Windows klijenta, onda na njega mora biti instaliran RSAT paket za udaljenu administraciju, sa instaliranom komponentom Active Directory Module za Windows PowerShell.

Vrijedi napomenuti da se cmdlet Get-ADUser preporučuje za pokretanje kada je količina podataka koji se učitavaju do 1000 korisnika.

Izvoz AD korisnika koristeći PowerShell u zasebnu datoteku

Prvo, pozovimo pomoć za naredbu Get-ADUser. Kao rezultat toga, dobićete sve potrebne komande za dalju administraciju.

  • pomoć Get-ADUser - komanda za pozivanje pomoći

Da biste dobili listu svih korisnika sa svim svojstvima u prozoru PowerShell, pokrenite sljedeću naredbu:

  • Get-ADUser -filter * - izvoz liste korisnika AD

Ovaj istovar nije u potpunosti informativan i ne uklapa sve potrebne informacije u prozor. Stoga, pokušajmo suziti pretragu i prikazati svojstva određenog korisnika po imenu user1:

  • Get-ADUser -identitet korisnik1 -svojstva * - izvoz svojstava određenog korisnika

Sada pokušajmo da izvezemo listu svih korisnika sa njihovim svojstvima na eksterni. txt ili csv fajl:

  • Get-ADUser -filter * -svojstva * | Export-csv -path c: \ users.csv -encoding Unicode - izvoz korisnika u poseban fajl

Posebno bih skrenuo pažnju na ključ -kodiranje Unicode... Koristi se da bi se ruska ćirilica, nakon izvoza iz AD, mogla ispravno prikazati u učitanom fajlu. Na primjer, kroz Microsoft Excel ćemo vidjeti upitnike umjesto ruskih slova.

Kada pregledate datoteku, podaci se izvoze u jednom redu i stoga nisu čitljivi. Da bismo ovo promijenili, moramo uraditi sljedeće:

Skripte za istovar svih korisnika iz MS Active Directory (ITGC)

Ivan Piskunov

Jedna od standardnih procedura revizije ITGC za katalog Aktivni direktorij je da dobijete preuzimanje svih korisnika domene. Na osnovu dobijenih podataka formiraju se procedure testiranja, na primjer, proučavanje liste administratora ili identifikacija korisnika sa isteklom lozinkom. Najefikasniji način za formiranje takvog rasterećenja bio bi korištenje standardnog interfejsa PowerShell , primjere kojih ćemo razmotriti u ovom članku

1. Ekspresno otpremanje pomoću PowerShell skripte

Ispod je PowerShell skripta kao jedan od najlakših i najbržih načina da dobijete listu svih korisnika AD domena u CSV formatu, koji se bez problema može otvoriti istim Excelom.

$ objSearcher = New-Object System.DirectoryServices.DirectorySearcher $ objSearcher.SearchRoot = "LDAP: // ou = Korisnici, ou = Departmets, dc = test, dc = ru" $ objSearcher.Filter = "(& (objectCategory = osoba) (! userAccountControl: 1.2.840.113556.1.4.803: = 2)) "$ users = $ objSearcher.FindAll () # Broj naloga $ users.Count $ korisnika | ForEach-Object ($ user = $ _. Svojstva New-Object PsObject -Property @ (Naslov = $ user.description Department = $ user.department Login = $ user.userprincipalname Telefon = $ user.telephonenumber Soba = $ user.physicaldeliveryofficename Puno ime = $ user.cn)) | Export-Csv -NoClobber -Encoding utf8 -Path C: list_domen_users.csv

Da bi skripta radila na vašem sistemu, potrebno je da je malo ispravite, odnosno unesete potrebne parametre, tj. kao u ovom primjeru ovo su parametri Korisnici u jedinici Odeljenja u domenu Test.ru. I također navedite putanju do lokacije na kojoj je datoteka spremljena list_domen_users.csv

Nakon istovara, ako odmah otvorite list_domen_users.csv , će izgledati u nečitljivom obliku, međutim, standardnim sredstvima možemo ga lako dovesti u format koji nam je potreban. Otvaranje u Excel-u list_domen_users.csv , odaberite prvu kolonu, zatim idite na karticu "Podaci" i kliknite na "Tekst po kolonama". Odaberite "razdvojeno" i kliknite "Dalje". Spremni!

Treba napomenuti da ova skripta neće prikazati više od 1000 korisnika. Prilično je pogodan za malu kompaniju, ali oni koji imaju ogroman broj korisnika u domeni trebali bi koristiti metode opisane u nastavku.

2. Napredni PowerShell cmdlet za dobijanje preuzetih korisnika Active Directory

Active Directory Module za Windows PowerShell alat (uveden u Windows Server 2008 R2 i novijim) omogućava vam da generišete cmdlet komande koje izvode različite manipulacije sa objektima AD direktorijuma. Da biste dobili informacije o korisnicima i njihovim svojstvima, koristite cmdlet Get-ADUser.

Početi pokrenite Powershell prozor s administratorskim pravima i uvezite Active Directory modul za dalje radnje:
Uvozni modul aktivni direktorij

To navedite sve račune domene a, hajde da izvršimo naredbu:

Get-ADUser -filter *

To prikazati kompletne informacije o svim dostupnim atributima korisnik tuser, pokrenite naredbu

Get-ADUser -identitet tuser -svojstva *


Na primjer, zainteresovani smo za informacije o datum kada je lozinka promijenjena i vrijeme kada ona ističe ... Rezultat izvršenja naredbe može se izvesti u tekstualnu datoteku:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Ime, PasswordExpired, PasswordLastSet, PasswordNeverExpires> C: tempusers.txt

Ili odmah prenijeti u CSV , koji će se ubuduće povoljno izvoziti u Excel (dodatno, koristeći sort-object, sortiraćemo tabelu po stupcu PasswordLastSet, a takođe ćemo dodati uslov gde - korisničko ime mora sadržati niz "Dmitry")

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | gdje ($ _. ime –kao “* Dmitry *”) | sort-objek PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c: tempuser-password-expires-2015.csv

U ovom članku ćemo pogledati mogućnosti PowerShell-a za upravljanje grupama domena Active Directory. Proći ćemo kroz kako kreirati novu grupu u AD-u, dodati joj korisnike (ili je izbrisati), navesti korisnike grupe i nekoliko drugih korisnih trikova grupe domena koji su izuzetno korisni u svakodnevnoj administraciji. Sljedeće osnovne cmdlete dostupne su u Active Directory PowerShell modulu za upravljanje AD grupama:

Da biste koristili ove cmdlete u vašoj PowerShell sesiji, mora se učitati poseban AD interakcijski modul - Modul Active Directory za Windows PowerShell... Ovaj modul je prvi put predstavljen u Windows Serveru 208 R2. U Windows Server 2012 i novijim verzijama, ovaj modul je podrazumevano omogućen. Na klijentskim računarima može se instalirati i omogućiti kao jedna od RSAT komponenti. Možete provjeriti da li je modul učitan ovako:

Get-Module -Listavailable

Kao što vidite, modul ActiveDirectory je učitan. Ako nije, uvezite ga naredbom:

Uvozni modul aktivni direktorij

Kompletnu listu naredbi modula možete dobiti na sljedeći način:

Get-Command -Module ActiveDirectory

U modulu je dostupno 147 cmdleta, od kojih 11 može raditi sa grupama.

Get-Command -Module ActiveDirectory -Naziv "* Grupa *"

Evo liste njih:

  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Get-ADGroup
  • Get-ADGroupMember
  • Get-ADPrincipalGroupMembership
  • New-ADGroup
  • Remove-ADGroup
  • Remove-ADPrincipalGroupMembership
  • Set-ADGroup

Kreirajte novu grupu u navedenom kontejneru (OU) Active Directory koristeći naredbu New-ADGroup:

Nova-ADGroup "TestADGroup" -put "OU = Grupe, OU = Moskva, DC = corp, dc = winitpro, DC = ru" -GroupScope Global -PassThru –Verbose

Korištenje atributa Opis možete postaviti opis grupe i pomoću DisplayName promijenite naziv za prikaz.

Parametar GroupScope možete postaviti jednu od sljedećih vrsta grupa:

  • 0 = DomainLocal
  • 1 = Globalno
  • 2 = Univerzalno

Grupu za distribuciju možete kreirati ovako:

Nova-ADGroup "TestADGroup-Distr" -put "OU = Grupe, OU = Moskva, DC = corp, dc = winitpro, DC = ru" -GroupCategory Distribution -GroupScope Global -PassThru –Verbose

Add-AdGroupMember - dodajte korisnike u AD grupu

Možete dodati korisnike u grupu Active Directory koristeći Add- AdGroupMember... Dodajmo dva korisnika u novu grupu:

Add-AdGroupMember -Identity TestADGroup -Članovi korisnik1, korisnik2

Ako je lista korisnika za dodavanje u grupu prilično velika, možete spremiti listu računa u CSV datoteku, zatim uvesti ovu datoteku i dodati svakog korisnika u grupu.

Format CSV datoteke je sljedeći (lista korisnika, jedan po redu, naziv kolone je korisnici)

Uvoz-CSV \ Users.csv -Korisnici zaglavlja | ForEach-Object (Add-AdGroupMember -Identity 'TestADGroup' -members $ _. Korisnici)

Da dobijete sve članove jedne grupe (grupa A) i dodate ih u drugu grupu (grupa B), koristite ovu naredbu:

Get-ADGroupMember “GroupA” | Get-ADUser | ForEach-Object (Add-ADGroupMember -Identity “Group-B” -Members $ _)

U slučaju da trebate kopirati članove svih ugniježđenih grupa u novu grupu (rekurzivno), trebate koristiti sljedeću naredbu:

Get-ADGroupMember -Identitet “GroupA” -Rekurzivno | Get-ADUser | ForEach-Object (Add-ADGroupMember -Identity “GroupB” -Members $ _)

Remove-ADGroupMember - uklanjanje korisnika iz grupe

Da uklonite korisnike iz AD grupe, koristite naredbu Remove-ADGroupMember. Uklonimo dva korisnika iz grupe:

Remove-ADGroupMember -Identity TestADGroup -Članovi korisnik1, korisnik2

Potvrdite uklanjanje korisnika iz grupe:

Ako trebate ukloniti korisnike iz grupe prema listi iz CSV datoteke, koristite sljedeću naredbu:

Uvoz-CSV \ Users.csv -Korisnici zaglavlja | ForEach-Object (Remove-ADGroupMember -Identity 'TestADGroup' -members $ _. Korisnici)

Get-ADGroup - dobiti informacije o AD grupi

Cmdlet će vam pomoći da dobijete informacije o grupi. Get-ADGroup:

Get-ADGroup "TestADGroup"

Ova komanda prikazuje informacije o glavnim atributima grupe (DN, tip grupe, naziv, SID). Da biste prikazali vrijednost svih atributa AD domenske grupe, pokrenite sljedeću naredbu:

Get-ADGroup "TestADGroup" - svojstva *

Kao što vidite, sada se prikazuju atributi kao što su vrijeme kreiranja i modifikacije grupe, opis itd.

Koristeći Get-ADGroup cmdlet, možete pronaći sve grupe koje vas zanimaju prema određenom obrascu. Na primjer, trebate pronaći sve AD grupe koje sadrže frazu admini :

Get-ADGroup -LDAPFilter “(ime = * administratori *)” | Format-Tabela

Get-ADGroupMember - Navedite korisnike AD grupe

Prikaži listu korisnika u grupi:

Get-ADGroupMember "TestADGroup"

Da ostavite samo korisnička imena u rezultatima, pokrenite:

Get-ADGroupMember "TestADGroup" | ft name

Ako ova grupa uključuje druge grupe u domeni, za prikaz kompletne liste članova, uključujući sve ugniježđene grupe, koristite parametar Rekurzivno.

Get-ADGroupMember 'server-admins "-rekurzivno | ft ime

Da biste izvezli listu naloga koji pripadaju određenoj grupi u CSV datoteku (za dalju upotrebu u Excelu), pokrenite sljedeću naredbu:

Get-ADGroupMember 'server-admins "-rekurzivno | ft samaccountname | Out-File c: \ ps \ admins.csv

Koristit ćemo cmdlet za dodavanje informacija o AD korisničkom računu u tekstualnu datoteku. Na primjer, pored računa potrebno je prikazati poziciju i broj telefona korisnika grupe:

Get-ADGroupMember -Identitet 'server-admins' -rekurzivno | foreach (Get-ADUser $ _ -properties title, OfficePhone | Select-Object title, OfficePhone)

(Get-ADGroupMember -Identitet "administratori domene").

Ispostavilo se da imamo 7 administratorskih naloga u grupi "administratori domena".

Da biste pronašli listu praznih grupa u određenom OU, koristite ovu naredbu:

Get-ADGroup -Filter * -Properties Members -searchbase “OU = Moskva, DC = corp, dc = winitpro, DC = ru” | gdje (-ne $ _. članovi) | izaberite Ime

0

Imam sljedeću radnu skriptu koja provjerava da li je velika lista korisnika u CSV datoteci član AD grupe i zapisuje rezultate u results.csv.

Nisam siguran kako da konvertujem skriptu da bih mogao da promenim $ group = "InfraLite" u $ group = DC. \ List_Of_AD_Groups.CSV.

Dakle, skripta ne vraća samo podudaranja za jednu AD grupu, već vraća podudaranja za 80 AD grupa sadržanih u List_of_AD_groups.csv. Pisanje DA/NE za svaku AD grupu u novoj CSV koloni (ili, ako to nije moguće, kreiranje zasebne CSV datoteke za svaku grupu sa rezultatima će također.

Mogao sam to učiniti ručno promjenom vrijednosti iz grupe $ i naziva datoteke za izvoz i ponovnim pokretanjem skripte 80 puta, ali sam morao biti brz sa PS-om da bih to učinio

npr. rezultati.csv?:

IME AD_GROUP1 AD_GROUP2 AD_GROUP80 itd itd. korisnik1 da ne da korisnik2 ne ne da korisnik3 ne da ne echo "UserName`InfraLite" >> results.csv $ users = GC. \ user_list.csv $ group = "InfraLite" $ members = Get-ADGroupMember -Identity $ group -Rekurzivno | Odaberite -ExpandProperty SAMAccountName foreach ($ korisnik u $ korisnika) (ako ($ članovi -sadrži $ korisnika) (echo "$ user $ group`tYes" >> results.csv) else (echo "$ user`tNo" >> rezultati .csv))

  • 2 odgovora
  • sortiranje:

    Aktivnost

0

Trivijalno rješenje vašeg problema bi bilo da umotate svoj postojeći kod u drugu petlju i kreirate izlaznu datoteku za svaku grupu:

$ groups = Get-Content "C: \ groups.txt" foreach ($ grupa u $ grupama) ($ members = Get-ADGroupMember ... ...)

Čistiji pristup bi bio kreiranje predloška mapiranja grupe, kloniranje za svakog korisnika i popunjavanje kopije korisnikovim članstvom u grupi. Ovako nešto bi trebalo raditi:

$ template = @ () Get-Content "C: \ groups.txt" | ForEach-Object ($ template [$ _] = $ false) $ groups = @ () Get-ADGroup -Filter * | ForEach-Object ($ grupe [$ _. DistinguishedName] = $ _. Ime) Get-ADUser -Filter * -Properties MemberOf | ForEach-Object ($ groupmap = $ template.Clone () $ _. MemberOf | ForEach-Object ($ groups [$ _]) | Where-Object ($ groupmap.ContainsKey ($ _)) | ForEach-Object ($ groupmap [$ _] = $ true) New-Object -Type PSObject -Property $ groupmap) | Izvezi-Csv "C: \ user_group_mapping.csv" -NoType

0

Igrao sam se s ovim već neko vrijeme i mislim da sam našao način da vam dobijem upravo ono što ste tražili.

Mislim da je Ansgar bio na pravom putu, ali nisam mogao da ga nateram da uradi ono što je uradio posle. Napomenuo je da u vrijeme pisanja ovog teksta nije imao pristup AD okruženju.

Evo šta sam smislio:

$ UserArray = Get-Content "C: \ Temp \ Users.txt" $ GroupArray = Get-Content "C: \ Temp \ Groups.txt" $ OutputFile = "C: \ Temp \ Something.csv" # Postavljanje hashtable za kasniju upotrebu $ UserHash = New-Object -TypeName System.Collections.Hashtable # Vanjska petlja za dodavanje korisnika i članstva u UserHash $ UserArray | ForEach-Object ($ UserInfo = Get-ADUser $ _ -Properties MemberOf # Skida LPAP sintaksu samo na SAMAccountName grupe $ Memberships = $ UserInfo.MemberOf | ForEach-Object (($ _. Split (",")) .replace ("CN =", "")) #Dodavanje para korisnika = članstvo u Hash $ UserHash.Add ($ _, $ Članstva)) # Vanjska petlja za kreiranje objekta po korisniku $ Results = $ UserArray | ForEach-Object (# Prvo kreirajte jednostavan objekat $ User = New-Object -TypeName PSCustomObject -Property @ (Name = $ _) # Dinamički dodajte članove u objekt, na osnovu $ GroupArray $ GroupArray | ForEach-Object (#Provjera $ UserHash da vidite da li se grupa pojavljuje na listi članova korisnika $ UserIsMember = $ UserHash. ($ User.Name) -sadrži $ _ #Dodavanje svojstva objektu i vrijednost $ User | Add-Member -MemberType NoteProperty -Name $ _ -Value $ UserIsMember) #Vraćanje objekta u varijablu Return $ User) #Pretvorite objekte u CSV, a zatim ih ispišite $ Results | ConvertTo-CSV -NoTypeInformation | Out-File $ OutputFile

Nadajmo se da sve ima smisla. Komentirao sam koliko sam mogao. Bilo bi vrlo lako pretvoriti u ADSI da nemate instaliran RSAT na bilo kojoj mašini na kojoj ga pokrećete. Ako vam zatreba, javite mi i napravit ću neke brze promjene.

Nije tajna da od prve verzije PowerShell-a, Microsoft pokušava da ga učini glavnim Windows administrativnim alatom. I na mnogo načina funkcionira! Danas ćemo vam na jednostavnim primjerima pokazati mogućnosti PowerShell-a koje možete koristiti da dobijete različite informacije o korisnicima Active Directory-a i njihovim atributima.

Bilješka... Ranije, da biste dobili informacije o atributima AD korisničkih naloga, morali ste koristiti različite alate: ADUC konzolu (uključujući), uslužni program, itd. Izbor alata se obično zasnivao na zadatku i sposobnostima administratora za programiranje.

PowerShell 2.0 uvodi poseban modul za rad sa aktivnim direktorijumom - (uveden u Windows Server 2008 R2), čije cmdlete vam omogućavaju da izvršite različite manipulacije sa objektima u AD direktorijumu. Da biste dobili informacije o korisnicima domene Active Directory i njihovim svojstvima, koristite cmdlet Get-ADUser... Možete koristiti Get-ADUser cmdlet da dobijete vrijednost bilo kojeg atributa postojećeg korisničkog naloga u AD. Osim toga, možete odrediti različite kriterije odabira i generirati liste korisnika domena i njihovih atributa.

U ovom primjeru ćemo vam pokazati kako da koristite Get-ADUser PowerShell cmdlet da biste dobili informacije o tome kada je lozinka korisnika posljednji put promijenjena i kada će isteći.

Pokrenite Powershll prozor s administratorskim pravima i uvezite Active Directory modul naredbom:

Uvozni modul aktivni direktorij

Savjet... U Windows Serveru 2012 i novijim verzijama, ova stavka se može preskočiti, pošto je modul Active Directory PowerShell omogućen prema zadanim postavkama.

U klijentskim operativnim sistemima (u istom Windows 10) da bi Get-AdUser komandir radio, potrebno je da instalirate odgovarajuću verziju RSAT-a i omogućite komponentu na kontrolnoj tabli Modul Active Directory za Windows PowerShell(Alati za udaljenu administraciju servera -> Alati za administraciju uloga -> AD DS i AD LDS alati -> AD DS alati).

Možete dobiti kompletnu listu svih argumenata za Get-ADUser cmdlet ovako:

Pomozite Get-ADUser

Da ispišete sve račune domene, pokrenite naredbu:

Get-ADUser -filter *

Format vraćene liste nije baš prikladan za korištenje, prikazano je samo nekih osnovnih 10 od više od 120 atributa i svojstava korisničkih naloga (DN, SamAccountName, Name, UPN, itd.), osim toga vidimo da postoji nema informacija o vremenu zadnje promjene lozinke...

Za prikaz kompletnih informacija o svim dostupnim atributima korisnika korisnika, pokrenite naredbu:

Get-ADUser -identitet tuser -svojstva *

Dakle, vidimo kompletnu listu AD korisničkih atributa i njihovih vrijednosti povezanih s korisničkim računom. Zatim ćemo preći na formatiranje izlaza Get-ADUser cmdleta tako da se prikažu polja koja želimo. Zanimaju nas atributi:

  • PasswordExpired
  • PasswordLastSet
  • PasswordNeverExpires

Izvršimo naredbu:

Get-ADUser tuser - svojstva PasswordExpired, PasswordLastSet, PasswordNeverExpires

Sada korisnički podaci sadrže informacije o datumu promjene lozinke i vremenu kada istekne. Predstavimo informacije u prikladnijem tabelarnom obliku:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Ime, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Za prikaz korisničkih podataka iz određene OU koristit ćemo parametar SearchBase:

Get-ADUser -SearchBase ‘OU = Moskva, DC = winitpro, DC = loc’ -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Ime, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Rezultat izvršenja naredbe može se izvesti u tekstualnu datoteku:

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

Ili u CSV-u, koji će u budućnosti biti pogodan za izvoz u Excel (dodatno korištenjem sort-objekat sortirajte tabelu prema stupcu PasswordLastSet i dodajte uslov gdje- korisničko ime mora sadržavati red "Dmitry"):

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | gdje ($ _. ime –kao “* Dmitry *”) | sort-objek PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c: \ temp \ user-password-expires-2015.csv

Dakle, možete napraviti tabelu sa svim potrebnim korisničkim atributima Active Directory.

Parametar –Filter se koristi za dobijanje liste AD korisničkih naloga na osnovu određenog kriterijuma. Kao argumente za ovaj parametar možete navesti vrijednost određenih atributa korisnika Active Directory, kao rezultat toga, Get-ADUser cmdlet će se primijeniti na korisnike koji odgovaraju kriterijima filtera.

Prikaz AD korisnika čije ime počinje s rimskim:

Get-ADUser -filter (ime -kao "Roman *")

Get-ADUser -Filter (SamAccountName -kao "*") | Mjera-Objekat

Spisak svih aktivnih (ne blokiranih) naloga u AD:

Get-ADUser -Filter (omogućeno -eq "True") | Odaberite-Objekat SamAccountName, Name, Surname, GivenName | Format-Tabela

Spisak naloga sa isteklom lozinkom:

Get-ADUser -filter (omogućeno -eq $ True) -svojstva lozinka je istekla | gdje ($ _. Lozinka je istekla)

Spisak aktivnih računa sa poštanskim adresama:

Get-ADUser -Filter ((mail -ne "null") -i (Enabled -eq "true")) -Properties Prezime, GivenName, mail | Odaberite-Ime objekta, Prezime, Ime, pošta | Format-Tabela

Zadatak: za listu naloga koji su pohranjeni u tekstualnoj datoteci (jedan nalog po redu), potrebno je da dobijete telefonski broj korisnika u AD-u i učitate informacije u tekstualni csv fajl (možete ga lako uvesti u Esxel).

Import-Csv c: \ ps \ usernsme_list.csv | ForEach (Get-ADUser -identity $ _. User -Properties Ime, telefonski broj | Odaberite ime, telefonski broj | Export-CSV c: \ ps \ export_ad_list.csv -Dodaj -Encoding UTF8)

Sljedeći primjer vam omogućava da otpremite korporativni adresar kao csv datoteku, koju kasnije možete uvesti u Outlook ili Mozilla Thunderbird:

Get-ADUser -Filter ((mail -ne "null") -i (Enabled -eq "true")) -Properties Prezime, GivenName, mail | Odaberite-ime objekta, prezime, ime, pošta | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $ env: temp \ mail_list.csv

Korisnici koji nisu promijenili lozinku u posljednjih 90 dana:

$ 90_Dani = (Get-Date) .adddays (-90) Get-ADUser -filter ((passwordlastset -le $ 90_days))

$ user = Get-ADUser winadmin -Svojstva thumbnailPhoto $ user.thumbnailPhoto | Set-Content winadmin.jpg -Encoding byte

Lista grupa u kojima se nalazi korisnički nalog

Get-AdUser winadmin -Properties memberof | Odaberite memberof -expandproperty memberof

Top srodni članci