Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Windows 8
  • Ps shkarko listën e përdoruesve nga grupi i reklamave. Gjetja e përdoruesve joaktivë në Active Directory

Ps shkarko listën e përdoruesve nga grupi i reklamave. Gjetja e përdoruesve joaktivë në Active Directory

Mirëdita, të dashur lexues dhe abonentë, ne vazhdojmë të studiojmë aftësitë e Powershell dhe Active Directory. Siç e mbani mend, të gjitha llogaritë e saj të përdoruesve dhe kompjuterëve ndodhen në bazën e të dhënave NTDS.dit, gjithçka është e shkëlqyer dhe e centralizuar. Kur një kompani ka më shumë se një administrator sistemi, mund të lindë një situatë ku grumbullohen mbeturina dhe kredenciale të panevojshme. Ne të gjithë jemi njerëz dhe mund të harrojmë disa gjëra, dhe në disa momente mund të shpërqendrohemi, gjë që gjithashtu do të çojë në harresë informacion i rendesishem. Dhe arrijmë në përfundimin se Drejtoria Actvie nuk grumbullohet përdorues aktivë(i shkrepur ose i harruar), sido që të jetë, mirë Administratori i sistemit duhet t'i identifikojë, t'i çaktivizojë dhe më pas t'i fshijë nëse dëshironi, gjë që do të bëjmë.

Nëpërmjet snap-in ADUC

Herën e fundit ju dhashë një shembull të përdorimit të snap-in-it aktiv Përdoruesit e Drejtorisë dhe kompjuterë, përmes të cilëve kërkuam kompjuterë që mungonin në rrjetin lokal që nuk ishin shfaqur për një muaj. Tani do të bëjmë të njëjtën gjë me llogaritë e përdoruesve. Unë kam AD në Windows Server 2012 R2, hapni ADUC, për ta bërë këtë shtypni WIN+R dhe futni dsa.msc.

Në formularin e kërkesës që hapet, shkruani:

  • Kërko emrin > për mua këta janë përdorues të humbur
  • Përshkrimi nëse është e nevojshme
  • Kërkoni rrënjë > këtu mund të lini të gjithë domenin, ose ta specifikoni në OU-në e dëshiruar

Pastaj klikoni butonin kërkesë.

Në skedën e përdoruesve shohim artikullin "Numri i ditëve që nga viti identifikimi i fundit në sistem" kam vendosur 60 ditë për shembull.

Si rezultat, do të merrni listën që ju nevojitet për llogaritë joaktive të punonjësve.

Nëpërmjet snap-in powershell

E njëjta gjë mund të bëhet përmes Powershell. Unë do t'ju jap menjëherë kodin, detyra e të cilit është të kërkoni për përdorues joaktivë; për këtë zgjodha një periudhë prej 45 ditësh, duke çaktivizuar të dhënat e përdoruesit dhe duke lëvizur në një OU të caktuar posaçërisht.

$date_with_offset= (Get-Date).AddDays(-45)
$users = Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_me_offset ) | Rendit Data Logon Fund
foreach ($user në $users) (set-aduser $user -enabled $false; move-adobject -identity $user -targetpath "ou=Fired,ou=Moscow L. users,ou=Location,dc=msk,dc= contoso,dc=com")
Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | Rendit Data e Fundit Logon | FT Emri, LastLogonDate -AutoSize | Jashtë skedarit c:\Script\users.txt

  • Në rreshtin e parë ju deklaroni një variabël në të cilin vendosni termin e kërkimit
  • Krijoni një variabël dhe bëni një përzgjedhje bazuar në kohën e fundit të hyrjes
  • Lëvizja e përdoruesve

  • Bërja e një raporti në një dosje

Gjëra më të dobishme për të punuar me përdoruesin. Përpara se të përdorni komandat e mëposhtme, duhet të ngarkoni modulin Active Directory nëpërmjet komandës

Get-Help Get-ADUser

Skriptet për shkarkimin e të gjithë përdoruesve nga MS Active Directory (ITGC)

Ivan Piskunov

Nje nga procedurat standarde kryerjen e një auditimi ITGC për katalogun Active Directory është të merrni një shkarkim të të gjithë përdoruesve të domenit. Bazuar në të dhënat e marra, më pas formohen procedurat e testimit, për shembull, studimi i listës së administratorëve ose identifikimi i përdoruesve me një fjalëkalim të skaduar. Mënyra më efektive për të krijuar një ngarkim të tillë do të ishte përdorimi ndërfaqe standarde PowerShell , shembuj të të cilëve do t'i shqyrtojmë në këtë artikull

1. Ngarkimi i shpejtë duke përdorur një skript PowerShell

Më poshtë është Skripti PowerShell, si një nga më të thjeshtat dhe mënyra të shpejta merrni një listë të të gjithë përdoruesve të domenit AD në formatin CSV, i cili mund të hapet pa asnjë problem në Excel.

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = "LDAP://ou=Users,ou=Departmets,dc=test,dc=ru" $objSearcher.Filter = "(&(objectCategory=person) (!userAccountControl:1.2.840.113556.1.4.803:=2))" $users = $objSearcher.FindAll() # Numri i llogarive $users.Numri $users | PërÇdo-Object ( $user = $_.Properties New-Object PsObject -Property @( Pozicioni = $user.description Departamenti = $user.department Hyrja = $user.userprincipalname Telefoni = $user.telephonenumber Dhoma = $user.physicaldeliveryofficename e plotë emri = $user.cn ) ) | Export-Csv -NoClobber -Encoding utf8 -Shtegu C: list_domain_users.csv

Në mënyrë që skripti të funksionojë në sistemin tuaj, duhet ta korrigjoni pak, përkatësisht të futni parametrat e kërkuar, d.m.th. si në në këtë shembull këto janë parametrat Përdoruesit në departament Departamentet në domen Test.ru. Dhe gjithashtu tregoni shtegun ku është ruajtur skedari list_domain_users.csv

Pas shkarkimit, nëse e hapni menjëherë list_domain_users.csv , do të duket e palexueshme, megjithatë, duke përdorur mjete standarde mund ta sjellim lehtësisht në formatin që na nevojitet. Hapni në Excel list_domain_users.csv , zgjidhni kolonën e parë, më pas shkoni te skeda “Data” dhe klikoni “Tekst sipas kolonave”. Zgjidhni "kufizuar" dhe klikoni "Next". Gati!

!Është e nevojshme të theksohet se ky skript nuk do të shfaqë më shumë se 1000 përdorues. Është mjaft i përshtatshëm për një kompani të vogël, por për ato me një domen sasi e madhe përdoruesit duhet të përdorin metodat e përshkruara më poshtë.

2. cmdlet i avancuar PowerShell për marrjen e ngarkimeve Përdorues aktivë Drejtoria

Moduli Active Directory për Windows PowerShell (i prezantuar në Windows Server 2008 R2 dhe më të lartë) ju lejon të krijoni cmdlet që kryejnë manipulime të ndryshme me objektet e drejtorisë AD. cmdlet përdoret për të marrë informacion rreth përdoruesve dhe vetive të tyre Get-ADUser.

Të fillosh hapni një dritare Powershell me të drejtat e administratorit dhe importoni modulin Active Directory për veprime të mëtejshme:
Import-Moduli i drejtorisë aktive

për të listoni të gjitha llogaritë e domenit dhe, le të ekzekutojmë komandën:

Get-ADUser -filtri *

për të të tërheqë plot informacione për të gjitha atributet e disponueshme përdoruesi, ekzekutoni komandën

Get-ADUser -indentity tuser -properties *


Për shembull, ne jemi të interesuar për informacion rreth data e ndryshimit të fjalëkalimit dhe koha e skadimit të tij . Rezultati i komandës mund të ngarkohet në skedar teksti:

Get-ADUser -filtri * -vetitë PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Emri, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:tempusers.txt

Ose menjëherë ngarkoni në CSV , i cili do të jetë i përshtatshëm për t'u eksportuar në Excel në të ardhmen (përveç kësaj, duke përdorur sort-object ne do ta renditim tabelën sipas kolonës PasswordLastSet, dhe gjithashtu do të shtojmë ku kusht- emri i përdoruesit duhet të përmbajë vargun "Dmitry")

Get-ADUser -filtri * -vetitë PasswordExpired, PasswordLastSet, PasswordNeverExpires | ku ($_.emri –si “*Dmitry*”) | sort-objekt PasswordLastSet | Select-object Emri, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c:tempuser-password-expires-2015.csv

Në këtë artikull do të shikojmë Karakteristikat e PowerShell mbi menaxhimin e grupit domeni aktiv Drejtoria. Ne do të shohim se si të krijojmë grup i ri në AD, shtoni përdorues në të (ose fshini), shfaqni një listë të përdoruesve të grupit dhe disa të tjerë veprime të dobishme me grupe domenesh, të cilat janë jashtëzakonisht të dobishme në administrimin e përditshëm. Për të menaxhuar grupet AD, moduli Active Directory PowerShell ofron cmdlet-et e mëposhtme bazë:

Për të përdorur këto cmdlet në sesionin tuaj, PowerShell duhet të ngarkohet modul i veçantë ndërveprimi me AD - Active Directory Moduli për Windows PowerShell . Ky modul u prezantua për herë të parë në Windows Server 208 R2. Në Windows Server 2012 dhe më të lartë, ky modul aktivizohet si parazgjedhje. Aktiv kompjuterët e klientit mund të instalohet dhe aktivizohet si një nga komponentët RSAT. Ju mund të kontrolloni nëse moduli është i ngarkuar si kjo:

Get-Module -I disponueshëm

Siç mund ta shihni, moduli ActiveDirectory është i ngarkuar. Nëse jo, importojeni me komandën:

Import-Moduli i drejtorisë aktive

Lista e plotë e komandave të modulit mund të merret si më poshtë:

Get-Command -Moduli ActiveDirectory

Ka gjithsej 147 cmdlet të disponueshme në modul, nga të cilat 11 mund të punojnë me grupe.

Get-Command -Moduli ActiveDirectory -Emri "*Group*"

Këtu është lista e tyre:

  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Get-ADGroup
  • Get-ADGroup Member
  • Merr anëtarësimin në Grup AdPrincipal
  • New-ADGroup
  • Hiq-ADGroup
  • Remove-ADPrincipalGroupMembership
  • Set-ADGroup

Le të krijojmë një grup të ri në kontejnerin e specifikuar të Active Directory (OU) duke përdorur komandën New-ADGroup:

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

Përdorimi i atributit Përshkrim ju mund të specifikoni një përshkrim të grupit, dhe duke përdorur Emri i shfaqur ndryshoni emrin e shfaqur.

Parametri GroupScope Ju mund të specifikoni një nga llojet e grupeve të mëposhtme:

  • 0 = DomainLocal
  • 1 = Global
  • 2 = Universale

Ju mund të krijoni një grup shpërndarjeje si ky:

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

Add-AdGroupMember – shtoni përdorues në një grup AD

Ju mund të shtoni përdorues në një grup Active Directory duke përdorur Add- Anëtar i grupit të reklamave. Le të shtojmë dy përdorues në grupin e ri:

Shto-AdGroupMember -Identity TestADGroup -Anëtarët përdorues1, përdorues2

Nëse lista e përdoruesve që dëshironi të shtoni në një grup është mjaft e madhe, mund ta ruani listën e llogarive skedar CSV, pastaj importoni këtë skedar dhe shtoni çdo përdorues në grup.

Formati i skedarit CSV është si më poshtë (lista e përdoruesve një për rresht, emri i kolonës - përdoruesit)

Import-CSV .\users.csv -Përdoruesit e kokës | PërÇdo-Objekt (Add-AdGroupMember -Identity 'TestADGroup' - anëtarët $_.users)

Për të marrë të gjithë anëtarët e një grupi (grupi A) dhe për t'i shtuar ata në një grup tjetër (grupi B), përdorni këtë komandë:

Get-ADGroupAnëtar "GroupA" | Get-ADUser | PërÇdo-Object(Add-ADGroupMember -Identity “Group-B” -Members$_)

Nëse keni nevojë të kopjoni anëtarët e të gjitha grupeve të mbivendosur në një grup të ri (në mënyrë rekursive), duhet të përdorni komandën e mëposhtme:

Get-ADGroupMember -Identiteti “GroupA” -Rekursive | Get-ADUser | Për çdo objekt (Add-ADGroupAmber -Identity "GroupB" -Antares$_)

Remove-ADGroupMember – hiqni përdoruesit nga një grup

Për të hequr përdoruesit nga një grup AD, duhet të përdorni komandën Remove-ADGroupMember. Le të heqim dy përdorues nga grupi:

Hiq-ADGroupMember -Identity TestADGroup -Anëtarët përdorues1, përdorues2

Konfirmo heqjen e përdoruesve nga grupi:

Nëse keni nevojë të hiqni përdoruesit nga një grup sipas një liste nga një skedar CSV, përdorni këtë komandë:

Import-CSV .\users.csv -Përdoruesit e kokës | PërÇdo-Object (Remove-ADGroupMember -Identity 'TestADGroup' - anëtarët $_.users)

Get-ADGroup – merrni informacion në lidhje me një grup AD

cmdlet do t'ju ndihmojë të merrni informacione rreth grupit Get-ADGroup:

Get-ADGroup "TestADGroup"

Kjo komandë shfaq informacion në lidhje me atributet kryesore të grupit (DN, lloji i grupit, emri, SID). Për të shfaqur vlerën e të gjitha atributeve të grupit të domenit AD, ekzekutoni komandën e mëposhtme:

Get-ADGroup "TestADGroup" -properties *

Siç mund ta shihni, tani shfaqen atribute të tilla si koha e krijimit dhe modifikimit të grupit, përshkrimi, etj.

Duke përdorur cmdlet Get-ADGroup, mund të gjeni të gjitha grupet që ju interesojnë duke përdorur një model specifik. Për shembull, ju duhet të gjeni të gjitha grupet AD, emrat e të cilëve përmbajnë frazën administratorët :

Get-ADGroup -LDAPFilter “(emri=*admins*)” | Format-Tabela

Get-ADGroupMember – shfaq një listë të përdoruesve të grupit AD

Shfaq një listë të përdoruesve të grupit:

Get-ADGroup Member "TestADGroup"

Për të lënë vetëm emrat e përdoruesve në rezultate, ekzekutoni:

Get-ADGroupAnëtar "TestADGroup"| emri ft

Nëse në ky grup Grupet e tjera të domenit janë aktivizuar për t'u shfaqur listën e plotë anëtarët, duke përfshirë të gjitha grupet e mbivendosura, përdorin parametrin Rekursive.

Get-ADGroupMember 'server-admins' -rekursive| emri ft

Për të eksportuar një listë të llogarive që i përkasin një grupi të caktuar në një skedar CSV (për përdorim të mëvonshëm në Excel), ekzekutoni komandën e mëposhtme:

Get-ADGroupMember "server-admins" -rekursive| ft samaccountname| Jashtë skedarit c:\ps\admins.csv

Për të shtuar të dhënat e llogarisë së përdoruesit në AD në një skedar teksti, ne do të përdorim cmdlet. Për shembull, përveç llogari ju duhet të shfaqni pozicionin dhe numrin e telefonit të përdoruesit të grupit:

Get-ADGroupMember -Identiteti 'server-admins' -rekurzive| foreach ( Get-ADUser $_ -titulli i vetive, OfficePhone|Zgjidh titullin e objektit, OfficePhone )

(Get-ADGroupMember -Identiteti "administratorët e domenit"). Numërimi

Doli që në grupin "administratorët e domenit" kemi 7 llogari administratori.

Për të gjetur një listë të grupeve boshe në një OU specifike, përdorni këtë komandë:

Get-ADGroup -Filter * -Properties Anëtarët -baza e kërkimit “OU=Moscow,DC=corp,dc=winitpro,DC=ru” | ku (-jo $_.anëtarë) | zgjidhni Emrin

Sot do të përpiqemi të ngarkojmë një listë të të gjithë përdoruesve në skedar të veçantë nga Active Directory. Ndihmësi ynë kryesor në këtë çështje do të jetë PowerShell. Gjë është se Microsoft fillimisht kishte planifikuar tastiera e komandës PowerShell si mjeti kryesor për menaxhimin e serverit komponentët e Windows. Dhe sot, kur tashmë kemi versionin 2.0, sipas në përgjithësi, është me të vërtetë kështu.

Edhe në të kaluarën e afërt, për të ndërvepruar disi me AD, administratorët duhej të kishin në dispozicion ose programin dsquery ose lloje te ndryshme skriptet ose shërbimet. Duke filluar nga sot versionet e Windows Serveri 2008 R2, ne mund të punojmë me AD përmes PowerShell. Me ardhjen e PowerShell 2.0, një modul i veçantë përdoret për të bashkëvepruar me Active Directory Moduli Active Directory për Windows PowerShell, i cili përmban lista e kërkuar cmdlet. Për detyrat tona ne do të përdorim komandën Get-ADUser.

Pra, varësisht se cili është nën kontroll sistemi operativ ne do të lëshojmë tastierën PowerShell, do të na duhet të kryejmë "hapa përgatitore".

1) Nëse jemi duke punuar nën Windows Server deri në versionin 2012, atëherë duhet të ekzekutojmë komandën:

  • Import-Moduli i drejtorisë aktive – komanda për të importuar një modul në AD

Për versionet e sistemit operativ nga 2012 dhe më lart, këtë modul aktivizuar tashmë si parazgjedhje.

2) Nëse punojmë nga ndonjë klient Windows, atëherë paketa duhet të instalohet në të administrim në distancë RSAT, me komponentin Active Directory Module për Windows PowerShell të instaluar.

Vlen të përmendet se cmdlet Get-ADUser rekomandohet të ekzekutohet kur sasia e të dhënave që ngarkohen është deri në 1000 përdorues.

Eksportimi i përdoruesve të AD duke përdorur PowerShell në një skedar të veçantë

Së pari, le të thërrasim ndihmën për komandën Get-ADUser. Si rezultat, do të merrni të gjitha komandat e nevojshme për administrim të mëtejshëm.

  • ndihmë Get-ADUser – komanda për të thirrur ndihmë

Për të hyrë në dritare Lista e PowerShell të gjithë përdoruesit me të gjitha vetitë, duhet të ekzekutoni komandën e mëposhtme:

  • Get-ADUser -filtri * – eksportoni një listë të përdoruesve të AD

Ky shkarkim nuk është plotësisht informativ dhe nuk i përshtatet gjithçkaje në dritare. informacionin e nevojshëm. Prandaj, le të përpiqemi të ngushtojmë kërkimin dhe të shfaqim vetitë përdorues specifik me emrin user1:

  • Get-ADUser -identity user1 -properties * – eksportoni vetitë e një përdoruesi specifik

Tani le të përpiqemi të eksportojmë listën e të gjithë përdoruesve me vetitë e tyre në një të jashtëm txt ose csv dosje:

  • Get-ADUser -filtri * -vetitë * | Export-csv -rruga c:\users.csv -encoding Unicode – eksportoni përdoruesit në një skedar të veçantë

Do të doja t'i kushtoja vëmendje të veçantë çelësit -kodimi i Unicode. Ai shërben për të siguruar që alfabeti cirilik rus, pas eksportimit nga AD, të mund të shfaqet saktë në skedarin e ngarkuar. Për shembull, nëpërmjet Microsoft Excel do të shohim pikëpyetje në vend të shkronjave ruse.

Kur shikoni një skedar, të dhënat eksportohen në një rresht dhe për këtë arsye nuk janë të lexueshme. Për ta ndryshuar këtë duhet të bëjmë sa më poshtë:

Artikujt më të mirë mbi këtë temë