Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Programi
  • Upravljanje AD grupama pomoću PowerShell-a. Kako dobiti popis odabranih AD grupa čiji su članovi veliki popis korisnika

Upravljanje AD grupama pomoću PowerShell-a. Kako dobiti popis odabranih AD grupa čiji su članovi veliki popis korisnika

Danas ćemo pokušati preuzeti popis svih korisnika u zasebnu datoteku iz Active Directory. Naš glavni pomoćnik u ovom pitanju bit će PowerShell. Stvar je u tome što je Microsoft isprva planirao naredbenu konzolu PowerShell kao glavni alat za upravljanje komponentama Windows poslužitelja. I danas, kada već imamo verziju 2.0, uglavnom je tako.

Čak iu nedavnoj prošlosti, da bi nekako komunicirali s AD-om, administratori su morali imati na raspolaganju ili uslužni program dsquery ili razne vrste skripti ili uslužnih programa. Danas, počevši od Windows Servera 2008 R2, možemo raditi s AD-om kroz PowerShell. Pojavom PowerShell 2.0 koristi se poseban modul za interakciju s Active Directoryjem Modul Active Directory za Windows PowerShell, koji sadrži potreban popis cmdleta. Za naše zadatke koristit ćemo naredbu Get-ADUser.

Dakle, ovisno o tome na kojem operativnom sustavu ćemo pokretati PowerShell konzolu, morat ćemo izvršiti “pripremne korake”.

1) Ako radimo pod Windows Serverom do verzije 2012, tada moramo pokrenuti naredbu:

  • Import-Module activedirectory – naredba za uvoz modula u AD

Za verzije operativnog sustava od 2012. i novije, ovaj modul je već uključen prema zadanim postavkama.

2) Ako radimo s bilo kojeg klijentskog Windowsa, onda na njemu mora biti instaliran RSAT paket za daljinsku administraciju, s instaliranom komponentom Active Directory Module for Windows PowerShell.

Vrijedno je napomenuti da se cmdlet Get-ADUser preporučuje za izvršavanje kada je količina podataka koji se učitavaju do 1000 korisnika.

Izvoz AD korisnika pomoću PowerShell-a u zasebnu datoteku

Prvo, pozovimo pomoć za naredbu Get-ADUser. Kao rezultat toga, dobit ćete sve potrebne naredbe za daljnju administraciju.

  • pomoć Get-ADUser – naredba za poziv pomoći

Da biste dobili popis svih korisnika sa svim svojstvima u PowerShell prozoru, morate pokrenuti sljedeću naredbu:

  • Get-ADUser -filter * – eksport popisa AD korisnika

Ovo učitavanje nije posve informativno i ne uklapa sve potrebne informacije u prozor. Stoga, pokušajmo suziti pretragu i prikazati svojstva određenog korisnika pod imenom user1:

  • Get-ADUser -identity user1 -properties * – izvoz svojstava određenog korisnika

Pokušajmo sada izvesti popis svih korisnika s njihovim svojstvima na vanjski txt ili csv datoteka:

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

Želio bih obratiti posebnu pozornost na ključ -kodiranje Unicode. Služi kako bi se osiguralo da se ruska ćirilica, nakon izvoza iz AD-a, može ispravno prikazati u učitanoj datoteci. Na primjer, kroz Microsoft Excel vidjet ćemo upitnike umjesto ruskih slova.

Prilikom pregledavanja datoteke, podaci se izvoze u jednom retku i stoga nisu čitljivi. Da bismo to promijenili, moramo učiniti sljedeće:

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

Ivan Piskunov

Jedan od standardnih revizijskih postupaka ITGC za katalog Aktivni direktorij je dobiti preuzimanje svih korisnika domene. Na temelju dobivenih podataka zatim se formiraju procedure testiranja, na primjer, proučavanje popisa administratora ili identificiranje korisnika s isteklom lozinkom. Najučinkovitiji način za stvaranje takvog prijenosa bio bi korištenje standardnog sučelja PowerShell , primjere kojih ćemo razmotriti u ovom članku

1. Ekspresni prijenos pomoću skripte PowerShell

U nastavku se nalazi PowerShell skripta kao jedan od najjednostavnijih i najbržih načina da dobijete popis svih korisnika AD domene u CSV formatu koji se bez problema otvara u Excelu.

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = "LDAP://ou=Users,ou=Departmets,dc=test,dc=ru" $objSearcher.Filter = "(&(objectCategory=osoba) (!userAccountControl:1.2.840.113556.1.4.803:=2))" $users = $objSearcher.FindAll() # Broj računa $users.Count $users | ForEach-Object ( $user = $_.Properties New-Object PsObject -Property @( Position = $user.description Department = $user.department Login = $user.userprincipalname Phone = $user.telephonenumber Room = $user.physicaldeliveryofficename Full ime = $user.cn ) ) | Export-Csv -NoClobber -Encoding utf8 -Path C: popis_korisnika_domena.csv

Kako bi skripta radila na vašem sustavu potrebno ju je malo korigirati, odnosno unijeti potrebne parametre, tj. kao u ovom primjeru to su parametri Korisnici u odjelu Odjeli u domeni Test.ru. Također navedite put do mjesta na kojem je datoteka spremljena popis_korisnika_domena.csv

Nakon istovara, ako ga odmah otvorite popis_korisnika_domena.csv , izgledat će nečitljivo, međutim, korištenjem standardnih sredstava možemo ga lako dovesti u format koji nam je potreban. Otvori u Excelu popis_korisnika_domena.csv , odaberite prvi stupac, zatim idite na karticu "Podaci" i kliknite "Tekst po stupcima". Odaberite "razgraničeno" i kliknite "Dalje". Spreman!

!Potrebno je napomenuti da ova skripta neće prikazati više od 1000 korisnika. Prilično je prikladno za malu tvrtku, ali za one koji imaju ogroman broj korisnika u svojoj domeni, trebali bi pribjeći dolje opisanim metodama.

2. Napredni PowerShell cmdlet za dobivanje korisničkih učitavanja Active Directoryja

Alat Active Directory Module za Windows PowerShell (uveden u Windows Server 2008 R2 i noviji) omogućuje stvaranje cmdleta koji izvode različite manipulacije objektima AD imenika. Cmdlet se koristi za dobivanje informacija o korisnicima i njihovim svojstvima Get-ADUser.

Početi pokrenite Powershell prozor s administratorskim pravima i uvezite modul Active Directory za daljnje radnje:
Import-Module activedirectory

Do popis svih računa domene i pokrenimo naredbu:

Get-ADUser -filter *

Do prikazati potpune informacije o svim dostupnim atributima korisnik tuser, pokrenite naredbu

Get-ADUser -identity tuser -properties *


Na primjer, zanimaju nas informacije o datum promjene lozinke i vrijeme njenog isteka . Rezultat 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 učitaj u CSV , što će u budućnosti biti prikladno izvesti u Excel (osim toga, koristeći sort-object sortirat ćemo tablicu po stupcu PasswordLastSet, a također ćemo dodati uvjet gdje - korisničko ime mora sadržavati niz "Dmitry")

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

U ovom ćemo članku pogledati mogućnost PowerShell-a za upravljanje grupama domena Active Directory. Pogledat ćemo kako stvoriti novu grupu u AD-u, dodati joj korisnike (ili je ukloniti), ispisati korisnike grupe i nekoliko drugih korisnih radnji s grupama domena koje su iznimno korisne u svakodnevnoj administraciji. Za upravljanje AD grupama, modul Active Directory PowerShell pruža sljedeće osnovne cmdlete:

Za korištenje ovih cmdleta u vašoj PowerShell sesiji mora se učitati poseban AD interakcijski modul - Modul Active Directory za Windows PowerShell. Ovaj je modul prvi put predstavljen u sustavu Windows Server 208 R2. U sustavu Windows Server 2012 i novijim, ovaj je modul omogućen prema zadanim postavkama. Na klijentskim računalima se može instalirati i omogućiti kao jedna od RSAT komponenti. Možete provjeriti je li modul učitan ovako:

Get-Module -Dostupan za ispis

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

Import-Module activedirectory

Potpuni popis naredbi modula može se dobiti na sljedeći način:

Get-Command -Module ActiveDirectory

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

Get-Command -Module ActiveDirectory -Name "*Group*"

Evo njihovog popisa:

  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Get-ADGroup
  • Get-ADGroupMember
  • Get-ADPrincipalGroupMembership
  • Nova-ADGroup
  • Ukloni-ADGroup
  • Remove-ADPrincipalGroupMembership
  • Set-ADGroup

Kreirajmo novu grupu u navedenom spremniku Active Directory (OU) pomoću naredbe Nova-ADGroup:

New-ADGroup "TestADGroup" -path "OU=Groups,OU=Moscow,DC=corp,dc=winitpro,DC=ru" -GroupScope Global -PassThru –Verbose

Korištenje atributa Opis možete odrediti opis grupe i pomoću DisplayName promijeniti ime za prikaz.

Parametar GroupScope Možete navesti jednu od sljedećih vrsta grupa:

  • 0 = DomainLocal
  • 1 = Globalno
  • 2 = univerzalno

Grupu za distribuciju možete stvoriti ovako:

New-ADGroup "TestADGroup-Distr" -staza "OU=Groups,OU=Moscow,DC=corp,dc=winitpro,DC=ru" -GroupCategory Distribution -GroupScope Global -PassThru –Verbose

Add-AdGroupMember – dodajte korisnike u AD grupu

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

Add-AdGroupMember -Identity TestADGroup -Members user1, user2

Ako je popis korisnika koje je potrebno dodati u grupu prilično velik, možete spremiti popis računa u CSV datoteku, zatim uvesti datoteku i dodati svakog korisnika u grupu.

Format CSV datoteke je sljedeći (popis korisnika jedan po retku, naziv stupca – korisnici)

Import-CSV .\users.csv -Zaglavlje korisnici | ForEach-Object (Add-AdGroupMember -Identity ‘TestADGroup’ -members $_.users)

Da biste dobili sve članove jedne grupe (grupaA) i dodali ih u drugu grupu (grupaB), koristite ovu naredbu:

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

Ako trebate kopirati članove svih ugniježđenih grupa u novu grupu (rekurzivno), trebate upotrijebiti sljedeću naredbu:

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

Remove-ADGroupMember – uklonite korisnike iz grupe

Za uklanjanje korisnika iz AD grupe, morate koristiti naredbu Remove-ADGroupMember. Uklonimo dva korisnika iz grupe:

Remove-ADGroupMember -Identity TestADGroup -Members user1, user2

Potvrdite uklanjanje korisnika iz grupe:

Ako trebate ukloniti korisnike iz grupe prema popisu iz CSV datoteke, koristite ovu naredbu:

Import-CSV .\users.csv -Zaglavlje korisnici | ForEach-Object (Remove-ADGroupMember -Identity 'TestADGroup' -members $_.users)

Get-ADGroup – dohvatite informacije o AD grupi

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

Get-ADGroup "TestADGroup"

Ova naredba prikazuje informacije o glavnim atributima grupe (DN, tip grupe, naziv, SID). Za prikaz vrijednosti svih atributa grupe AD domena, pokrenite sljedeću naredbu:

Get-ADGroup "TestADGroup" - svojstva *

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

Pomoću cmdleta Get-ADGroup možete pronaći sve grupe koje vas zanimaju koristeći određeni obrazac. Na primjer, trebate pronaći sve AD grupe čiji nazivi sadrže izraz admini :

Get-ADGroup -LDAPFilter “(name=*admins*)” | Format-Tablica

Get-ADGroupMember – prikaz popisa korisnika AD grupe

Prikaži popis korisnika grupe:

Get-ADGroupMember "TestADGroup"

Da biste ostavili samo korisnička imena u rezultatima, pokrenite:

Get-ADGroupMember "TestADGroup"| ft ime

Ako ova grupa uključuje druge grupe domena, za prikaz cijelog popisa članova, uključujući sve ugniježđene grupe, koristite Ponavljajući.

Get-ADGroupMember 'server-admins" -recursive| ft name

Za izvoz popisa računa koji pripadaju određenoj grupi u CSV datoteku (za kasniju upotrebu u Excelu), pokrenite sljedeću naredbu:

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

Da bismo tekstualnoj datoteci dodali podatke o korisničkom računu u AD-u, upotrijebit ćemo cmdlet. Na primjer, osim računa, morate prikazati poziciju i telefonski broj korisnika grupe:

Get-ADGroupMember -Identity ’server-admins’ -recursive| foreach ( Get-ADUser $_ -properties title, OfficePhone|Select-Object title, OfficePhone )

(Get-ADGroupMember -Identity "domain admins").Broj

Ispostavilo se da u grupi “domain admins” imamo 7 administratorskih računa.

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

Get-ADGroup -Filter * -Svojstva Članovi -searchbase “OU=Moscow,DC=corp,dc=winitpro,DC=ru” | gdje (-ne $_.članovi) | odaberite Ime

0

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

Nisam siguran kako pretvoriti skriptu da bih mogao promijeniti $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 novi CSV stupac (ili ako to nije moguće, stvaranje zasebne CSV datoteke za svaku grupu s rezultatima učinit će isto.

Mogao bih to učiniti ručno promjenom vrijednosti iz $group i naziva izvozne datoteke i ponovnim pokretanjem skripte 80 puta, ali morao bih biti brz s PS-om da to učinim

na primjer 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 -Recursive | Odaberite -ExpandProperty SAMAccountName foreach ($user u $users) ( if ($members -sadrži $user) ( echo "$user $group`tYes" >> results.csv ) else ( echo "$user`tNo" >> rezultati .csv) )

  • 2 odgovora
  • Sortiranje:

    Aktivnost

0

Trivijalno rješenje vašeg problema bilo bi omotati vaš postojeći kod u drugu petlju i stvoriti izlaznu datoteku za svaku grupu:

$groups = Get-Content "C:\groups.txt" foreach ($group in $groups) ( $members = Get-ADGroupMember ... ... )

Elegantniji pristup bio bi stvoriti predložak grupnog mapiranja, klonirati ga za svakog korisnika i popuniti kopiju članstvom u grupi korisnika. Nešto poput ovoga bi trebalo funkcionirati:

$template = @() Get-Content "C:\groups.txt" | ForEach-Object ( $template[$_] = $false) $groups = @() Get-ADGroup -Filter * | ForEach-Object ( $groups[$_.DistinguishedName] = $_.Name) 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 ) | Izvoz-Csv "C:\user_group_mapping.csv" -NoType

0

Igrao sam se s ovim neko vrijeme i mislim da sam pronašao način da dobiješ točno ono što tražiš.

Mislim da je Ansgar bio na dobrom putu, ali nisam ga mogao natjerati da učini ono što je uslijedilo. Spomenuo je da u vrijeme pisanja nije imao pristup AD okruženju.

Evo što 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 Korisnik=Članstvo u hash $UserHash.Add($_,$Memberships) ) #Vanjska petlja za stvaranje objekta po korisniku $Results = $UserArray | ForEach-Object( # Prvo kreirajte jednostavan objekt $User = New-Object -TypeName PSCustomObject -Property @( Name = $_ ) # Dinamički dodajte članove objektu, na temelju $GroupArray $GroupArray | ForEach-Object ( #Checking $UserHash da biste vidjeli prikazuje li se grupa na popisu članstva 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, 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 ako nemate instaliran RSAT na bilo kojem računalu na kojem ovo radite. Ako vam zatreba, javite mi i ja ću napraviti neke brze promjene.

Nije tajna da od prve verzije PowerShell-a, Microsoft ga pokušava učiniti glavnim Windows alatom za administraciju. I na mnoge načine uspijeva! Danas ćemo na jednostavnim primjerima pokazati PowerShell mogućnosti koje se mogu koristiti za dobivanje različitih informacija o korisnicima Active Directoryja i njihovim atributima.

Bilješka. Ranije, da biste dobili informacije o atributima AD korisničkih računa, morali ste koristiti različite alate: ADUC konzolu (uključujući), uslužni program itd. Izbor alata obično se temeljio na zadatku koji je bio pri ruci i administratorovim sposobnostima programiranja.

PowerShell 2.0 uveo je poseban modul za rad s Active Directory - (uveden u Windows Server 2008 R2), čiji cmdleti omogućuju izvođenje raznih manipulacija objektima AD imenika. Cmdlet se koristi za dobivanje informacija o korisnicima domene Active Directory i njihovim svojstvima Get-ADUser. Možete upotrijebiti cmdlet Get-ADUser da dobijete vrijednost bilo kojeg atributa postojećeg korisničkog računa u AD-u. Osim toga, možete odrediti različite kriterije odabira i generirati popise korisnika domene i njihovih atributa.

U ovom primjeru pokazat ćemo vam kako koristiti cmdlet PowerShell Get-ADUser za dohvaćanje informacija o tome kada je korisnička lozinka posljednji put promijenjena i kada ističe.

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

Import-Module activedirectory

Savjet. U sustavu Windows Server 2012 i novijim, možete preskočiti ovu stavku, budući da je modul PowerShell Active Directory omogućen prema zadanim postavkama.

U klijentskim operativnim sustavima (Windows 10 na primjer), da bi Get-AdUser commander radio, morate instalirati odgovarajuću verziju RSAT-a i omogućiti komponentu na upravljačkoj ploči Modul Active Directory za Windows PowerShell(Alati za udaljenu administraciju poslužitelja -> Alati za administraciju uloga -> AD DS i AD LDS alati -> AD DS alati).

Potpuni popis svih argumenata cmdleta Get-ADUser može se dobiti na sljedeći način:

Pomoć Get-ADUser

Za prikaz popisa svih domenskih računa pokrenite naredbu:

Get-ADUser -filter *

Format vraćenog popisa nije baš zgodan za korištenje, prikazano je samo nekih osnovnih 10 od više od 120 atributa i svojstava korisničkih računa (DN, SamAccountName, Name, UPN, itd.), osim toga, vidimo da postoji nema podataka o vremenu posljednje promjene lozinke.

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

Get-ADUser -identity tuser -properties *

Dakle, vidimo potpuni popis AD korisničkih atributa i njihovih vrijednosti povezanih s korisničkim računom. Zatim ćemo prijeći na formatiranje izlaza cmdleta Get-ADUser tako da budu prikazana polja koja su nam potrebna. Zanimaju nas atributi:

  • Lozinka je istekla
  • PasswordLastSet
  • PasswordNeverExpires

Pokrenimo naredbu:

Get-ADUser tuser - svojstva PasswordExpired, PasswordLastSet, PasswordNeverExpires

Sada korisnički podaci sadrže informacije o datumu promjene lozinke i vremenu kada ona ističe. Predstavimo informacije u prikladnijem tabličnom obliku:

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

Za prikaz korisničkih podataka iz određene OU upotrijebite parametar SearchBase:

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

Rezultat 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 se u budućnosti prikladno izvesti u Excel (dodatno koristeći sort-objekt Razvrstajmo tablicu prema stupcu PasswordLastSet i također dodajmo uvjet gdje– korisničko ime mora sadržavati string “Dmitry”):

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

Tako možete izgraditi tablicu sa svim potrebnim korisničkim atributima Active Directoryja.

Da biste dobili popis AD korisničkih računa na temelju određene karakteristike, upotrijebite parametar –Filter. Kao argumente ovom parametru možete navesti vrijednost određenih korisničkih atributa Active Directory, što će uzrokovati primjenu cmdleta Get-ADUser na korisnike koji odgovaraju kriterijima filtra.

Ispis AD korisnika čije ime počinje s Roman:

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

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

Popis svih aktivnih (neblokiranih) računa u AD-u:

Get-ADUser -Filter (Omogućeno -eq "True") | Select-Object SamAccountName,Name,Surname,GivenName | Format-Tablica

Popis računa kojima je istekla lozinka:

Get-ADUser -filter (Enabled -eq $True) -properties passwordExpired | gdje($_.Zaporka istekla)

Popis aktivnih računa s adresama e-pošte:

Get-ADUser -Filter ((mail -ne "null") -and (Enabled -eq "true")) -Svojstva Prezime,GivenName,mail | Odaberite-Objekt Ime,Prezime,Ime,mail | Format-Tablica

Zadatak: za popis računa koji su pohranjeni u tekstualnoj datoteci (jedan račun po retku), morate dobiti telefonski broj korisnika u AD-u i prenijeti informacije u tekstualnu csv datoteku (može se jednostavno uvesti u Esxel).

Import-Csv c:\ps\usernsme_list.csv | ForEach ( Get-ADUser -identity $_.user -Properties Name, phoneNumber | Select Name, phoneNumber | Export-CSV c:\ps\export_ad_list.csv -Append -Encoding UTF8 )

Sljedeći primjer vam omogućuje preuzimanje poslovnog adresara kao csv datoteke, koja se kasnije može uvesti u Outlook ili Mozilla Thunderbird:

Get-ADUser -Filter ((mail -ne "null") -and (Enabled -eq "true")) -Svojstva Prezime,GivenName,mail | Odaberite-Objekt Ime,Prezime,Ime,mail | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $env:temp\mail_list.csv

Korisnici koji nisu promijenili lozinku u zadnjih 90 dana:

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

$user = Get-ADUser winadmin -Svojstva thumbnailPhoto $user.thumbnailPhoto | Set-Content winadmin.jpg -Bite kodiranja

Popis grupa kojima korisnički račun pripada

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

Najbolji članci na temu