Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 8
  • P. preuzmite popis korisnika iz grupe oglasa. Pronalaženje neaktivnih korisnika u Active Directory

P. preuzmite popis korisnika iz grupe oglasa. Pronalaženje neaktivnih korisnika u Active Directory

Dobar dan, dragi čitatelji i pretplatnici, nastavljamo proučavati mogućnosti Powershell-a i Aktivni direktorij. Kao što se sjećate, svi njezini korisnički i računalni računi nalaze se u bazi podataka NTDS.dit, sve je super i centralizirano. Kada tvrtka ima više od jednog administratora sustava, može doći do situacije u kojoj se nakuplja smeće i nepotrebne vjerodajnice. Svi smo mi ljudi i neke stvari možemo zaboraviti, au nekim trenucima možemo biti rastreseni, što će također dovesti do zaborava važna informacija. I dolazimo do zaključka da se Actvie Directory ne akumulira aktivni korisnici(otpušten ili zaboravljen), u svakom slučaju dobro Administrator sustava mora ih identificirati, onemogućiti i zatim izbrisati po želji, što ćemo i učiniti.

Preko ADUC snap-ina

Prošli put sam vam već dao primjer korištenja Active snap-ina Korisnici imenika i računala, preko kojih smo tražili nestala računala na lokalnoj mreži koja se nisu pojavila mjesec dana. Sada ćemo učiniti isto s korisničkim računima. Imam uključen AD Windows poslužitelj 2012 R2, otvorite ADUC, da biste to učinili pritisnite WIN+R i unesite dsa.msc.

U obrazac zahtjeva koji se otvori unesite:

  • Request name > za mene su ovo izgubljeni korisnici
  • Opis ako je potrebno
  • Request root > ovdje možete ostaviti cijelu domenu ili je navesti na željenoj OU

Zatim kliknite gumb za zahtjev.

Na kartici korisnici vidimo stavku "Broj dana od zadnja prijava u sustavu" postavio sam na primjer 60 dana.

Kao rezultat toga, dobit ćete popis neaktivnih računa zaposlenika koji vam je potreban.

Preko powershell snap-ina

Ista stvar se može učiniti kroz Powershell. Odmah ću vam dati šifru čija je zadaća tražiti neaktivne korisnike, za to sam odabrao period od 45 dana, onemogućio korisničke podatke i preselio se u posebno određenu OU.

$date_with_offset= (Get-Date).AddDays(-45)
$users = Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | Poredaj LastLogonDate
foreach ($user u $users) (set-aduser $user -enabled $false; move-adobject -identity $user -targetpath "ou=Otpušteni,ou=Moscow L. korisnici,ou=Lokacija,dc=msk,dc= contoso,dc=com")
Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | Poredaj datum zadnje prijave | FT ime, datum zadnje prijave -automatska veličina | Out-File c:\Script\users.txt

  • U prvom redu deklarirate varijablu u kojoj postavljate traženi pojam
  • Napravite varijablu i napravite odabir na temelju vremena zadnje prijave
  • Premještanje korisnika

  • Izrada izvješća u datoteku

Više korisnih stvari o radu s korisnikom. Prije korištenja naredbi u nastavku, morate učitati modul Active Directory putem naredbe

Get-Help Get-ADUser

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

Ivan Piskunov

Jedan od standardne procedure provođenje revizije 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 bila bi upotreba standardno sučelje PowerShell , primjere kojih ćemo razmotriti u ovom članku

1. Ekspresni prijenos pomoću skripte PowerShell

Ispod je PowerShell skripta, kao jedan od najjednostavnijih i brzi načini dobiti 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 ispraviti, odnosno unijeti traženi parametri, tj. kako u u ovom primjeru ovo 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 s domenom veliki iznos korisnici bi trebali pribjeći dolje opisanim metodama.

2. Napredni PowerShell cmdlet za primanje prijenosa Aktivni korisnici Imenik

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 povući pun informacija 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 učitati u tekstualna datoteka:

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 zgodno izvoziti u Excel (osim toga, koristeći sort-object sortirat ćemo tablicu po stupcu PasswordLastSet, a također dodati gdje stanje– 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 članku ćemo pogledati Značajke PowerShell-a o upravljanju grupom domena aktivna Imenik. Pogledat ćemo kako stvoriti nova grupa u AD-u, dodati mu korisnike (ili izbrisati), prikazati popis korisnika grupe i nekoliko drugih korisne akcije s grupama domena, koje su izuzetno 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 sesiji, PowerShell mora biti učitan poseban modul interakcija s AD - Aktivni direktorij Modul 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 klijentska računala može se 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 želite dodati u grupu prilično velik, možete spremiti popis računa u CSV datoteka, zatim uvoz ovu datoteku i dodajte 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 u ovu grupu drugim grupama domena omogućen je prikaz puni popisčlanovi, uključujući sve ugniježđene grupe, koriste parametar 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, pored račun trebate 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

Danas ćemo pokušati prenijeti popis svih korisnika na zasebna datoteka iz aktivnog imenika. Naš glavni pomoćnik u ovom pitanju bit će PowerShell. Stvar je u tome što je Microsoft prvotno planirao naredbena konzola PowerShell kao glavni alat za upravljanje poslužiteljem Windows komponente. I danas, kada već imamo verziju 2.0, prema uglavnom, doista 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. Počevši od danas Windows verzije Server 2008 R2, možemo raditi s AD preko PowerShell-a. Pojavom PowerShell 2.0 koristi se poseban modul za interakciju s Active Directoryjem Modul Active Directory za Windows PowerShell, koji sadrži potreban popis cmdleti. Za naše zadatke koristit ćemo naredbu Get-ADUser.

Dakle, ovisno o tome koja je pod kontrolom operacijski sustav pokrenut ćemo 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 već omogućeno prema zadanim postavkama.

2) Ako radimo s bilo kojeg klijentskog Windowsa, tada paket mora biti instaliran na njemu udaljena administracija RSAT, s instaliranom komponentom Active Directory Module za 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 uđem u prozor PowerShell popis sve korisnike sa svim svojstvima, trebate pokrenuti sljedeću naredbu:

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

Ovo preuzimanje nije posve informativno i ne staje sve u prozor. potrebne informacije. Stoga, pokušajmo suziti pretragu i prikazati svojstva konkretnog korisnika s imenom korisnik1:

  • 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, putem 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:

Najbolji članci na temu