Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Savjet
  • Excel umjesto PowerShell-a: upiti prema AD-u i izvještaji sustava “na koljenu”. Skripte za istovar svih korisnika iz MS Active Directory (ITGC)

Excel umjesto PowerShell-a: upiti prema AD-u i izvještaji sustava “na koljenu”. Skripte za istovar svih korisnika iz MS Active Directory (ITGC)

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

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

U komentarima na prethodni članak sjetili smo se računovodstva u Excelu umjesto 1C. Pa da provjerimo koliko poznajete Excel. Danas ću vam pokazati kako dobiti podatke iz Active Directoryja i raditi s njima bez makronaredbi i PowerShell-a - samo sa standardnim Office mehanizmima. Na primjer, možete lako dobiti analitiku o korištenju operativnih sustava u vašoj organizaciji ako već nemate nešto poput Microsoft SCOM-a. Pa, ili se samo zagrijte i odvratite misli od scenarija.


Naravno, podatke kao u primjerima ispod možete dobiti doslovno jednom linijom u PowerShell-u. Ali, prvo, PowerShell je previše dosadan, a drugo, Excel može dinamički ažurirati podatke - rezultirajući dokumenti mogu se objaviti na mreži i zaboraviti na njihovo ažuriranje.

Za rad s podacima koristit ću Power Query mehanizam. Za Office 2010 i 2013 morat ćete instalirati dodatak; Microsoft Office 2016 već ima ugrađeni ovaj modul. Nažalost, standardno izdanje nam nije dovoljno, trebat će nam Professional.


Sam mehanizam dizajniran je za primanje i obradu podataka iz raznih izvora – od starih ODBC i tekstualnih datoteka, do Exchangea, Oraclea i Facebooka. Više detalja o mehanizmu i ugrađenom skriptnom jeziku "M" već je napisano na Habréu, ali pogledat ću nekoliko primjera korištenja Power Queryja za dobivanje podataka iz Active Directoryja.

Zagrijavanje: Da vidimo kada su se naši korisnici prijavili

Sam zahtjev prema domenskoj bazi podataka kreira se na kartici “Podaci ― Novi zahtjev ― Iz drugih izvora ― Iz Active Directoryja”.



Navedite izvor podataka.


Morat ćete odabrati naziv domene i unijeti potrebne informacije o povezivanju. Zatim odaberite vrstu objekata, u ovom primjeru - korisnik. S desne strane u prozoru za pregled, upit je već pokrenut, prikazujući pregled podataka.



Pripremamo zahtjev i divimo se pregledu.


Zahtjev trebate pripremiti unaprijed klikom na gumb "uredi" i odabirom potrebnih stupaca. U biti, ovi stupci su klase. Svaki od njih sadrži skup specifičnih atributa objekta Active Directory, osim glavnog stupca displayName, što je samo po sebi atribut. Usredotočit ću se na nastavu korisnik, osoba, vrh I sigurnostPrincipal. Sada trebate odabrati potrebne atribute iz svake klase pomoću "ekstenzije" - ikone s dvije strelice u zaglavlju stupca:

  • Klasa korisnik proširiti odabirom lastLogonTimestamp I kontrola korisničkog računa;
  • V osoba izaberimo telefonski broj;
  • V vrhkadaStvoreno;
  • i u sigurnostPrincipalSamAccountName.


Proširujemo zahtjev.


Sada postavimo filtar: konkretno, kako ne bi došlo do blokiranja računa, atribut userAccountControl mora imati vrijednost 512 ili 66048. Filtar može biti drugačiji u vašem okruženju. Više o atributu možete pročitati u Microsoft dokumentaciji.



Primjena filtra.


Ponekad Excel netočno otkriva format podataka, osobito vrijednost atributa lastLogonTimestamp. Ako vas iznenada zadesi takva nesreća, možete postaviti ispravan format na kartici "Pretvori".

Sada bi stupac userAccountControl trebao biti izbrisan - on uopće nije potreban na zaslonu. I kliknite "Preuzmi i zatvori".


Rezultat je tanjur koji treba samo malo doraditi. Na primjer, preimenujte stupce u nešto čitljivije. I postavite automatsko ažuriranje podataka.


Automatsko ažuriranje prilikom otvaranja tablice ili prema isteku vremena konfigurirano je na kartici "Podaci" u "Svojstvima".



Postavljanje ažuriranja podataka.


Nakon dovršetka postavljanja ažuriranja, tablicu možete sigurno predati odjelu za osoblje ili sigurnosnoj službi - obavijestite ih tko se prijavio u sustav i kada.


Kod zahtjeva na jeziku "M" nalazi se ispod spojlera.

let Source = ActiveDirectory.Domains("domain.ru"), domain.ru = Source()[#"Object Categories"], user1 = domain.ru(), #"Remote Columns" = Table.RemoveColumns(user1,( "organizationalPerson", "shadowAccount", "posixAccount", "msExchOmaUser", "msExchBaseClass", "msExchIMRecipient", "msExchCertificateInformation", "msExchMultiMediaUser", "msExchMailStorage", "msExchCustomAttributes", "mailRecipient", "distinguishedName")), #"Prošireni element securityPrincipal" = Table.ExpandRecordColumn(#"Uklonjeni stupci", "securityPrincipal", ("sAMAccountName"), ("sAMAccountName")), #"Prošireni element vrh" = Table.ExpandRecordColumn(#"Prošireni element securityPrincipal ", "vrh", ("whenCreated"), ("whenCreated")), #"Prošireni element person" = Table.ExpandRecordColumn(#"Prošireni element top", "person", ("telephoneNumber"), ("telephoneNumber ")), #"Prošireni element korisnik" = Table.ExpandRecordColumn(#"Prošireni element osoba", "korisnik", ("lastLogonTimestamp", "userAccountControl"), ("lastLogonTimestamp", "userAccountControl")), #"Reci s primijenjenim filtrom" = Table.SelectRows(#"Prošireni korisnički element", svaki ( = 512 ili = 66048)), #"Promijenjena vrsta" = Table.TransformColumnTypes(#"Retovi s primijenjenim filtrom",(("lastLogonTimestamp", tip datumvrijeme))), #"Udaljeni stupci1" = Table.RemoveColumns(#"Promijenjena vrsta",("userAccountControl")) u #"Udaljeni stupci1"

Izrada adresara ili što učiniti kada korporativni portal nije prijateljski nastrojen prema AD-u

Druga opcija za korištenje Excela u kombinaciji s Active Directoryjem je stvaranje adresara na temelju AD podataka. Jasno je da će adresar biti ažuran samo ako je domena uredna.


Kreirajmo zahtjev za objekt korisnik, proširite razred korisnik V pošta, i klasa osoba V telefonski broj. Izbrišimo sve stupce osim istaknutoIme― struktura domene ponavlja strukturu poduzeća, pa imena Organizacijske jedinice odgovaraju nazivima odjela. Slično, sigurnosne grupe mogu se koristiti kao osnova za nazive odjela.


Sada s crte CN=Korisničko ime, OU=Računovodstveni odjel, OU=Odjeli, DC=domena, DC=ru morate izravno izdvojiti naziv odjela. Najlakši način da to učinite je korištenje graničnika na kartici Transformacija.



Izdvajanje teksta.


Kao graničnike koristim OU= I ,OU=. U principu, zarez je dovoljan, ali igram na sigurno.



Unesite razdjelnike.


Sada pomoću filtra možete odrezati nepotrebno OU, poput blokiranih korisnika i ugrađen, konfigurirajte sortiranje i učitajte podatke u tablicu.



Pogled na zbirnu tablicu.

Brzo izvješće o sastavu radnih mjesta, bez unošenja sredstava ili druge pripreme

Pokušajmo sada stvoriti korisnu tablicu dobivanjem podataka na računalima. Napravimo izvješće o operativnim sustavima koje koristi tvrtka: za to ćemo izraditi zahtjev, ali ovaj put ćemo u navigatoru odabrati Računalo.



Izrađujemo zahtjev za računalni objekt.


Ostavimo se nastave kolone Računalo I vrh i proširite ih:

  • Klasa Računalo proširiti odabirom cn, operacijski sustav, operativniSystemServicePack I Verzija operativnog sustava;
  • U klasi vrh izaberimo kadaStvoreno.


Napredni zahtjev.


Po želji možete napraviti izvještaj samo na poslužiteljskim operativnim sustavima. Na primjer, filtrirajte prema atributu OperatingSystem ili OperatingSystemVersion. Neću to učiniti, ali ću ispraviti prikaz vremena nastanka - zanima me samo godina. Da biste to učinili, na kartici "Konverzija" odaberite stupac koji nam je potreban i odaberite "Godina" u izborniku "Datum".



Izdvajamo godinu od trenutka kada je računalo ušlo u domenu.


Sada preostaje samo obrisati stupac imena za prikaz kao nepotreban i učitati rezultat. Podaci su spremni. Sada možete raditi s njima kao s običnim stolom. Prvo, napravimo zaokretnu tablicu na kartici "Umetni" - "Zaokretna tablica". Dogovorimo se s izborom izvora podataka i konfiguriramo njegova polja.



Postavke polja zaokretne tablice.


Sada preostaje samo prilagoditi dizajn svom ukusu i diviti se rezultatu:



Zbirna tablica za računala u AD.


Ako želite, možete dodati sumarni grafikon, također na kartici "Umetni". U “Kategoriju” (ili u “Redove”, po ukusu) dodajte operacijski sustav, na podatke ― cn. Na kartici "Dizajn" možete odabrati vrstu grafikona koji vam se sviđa; meni se više sviđao tortni grafikon.



Kružni graf.


Sada je jasno vidljivo da je, unatoč ažuriranju koje je u tijeku, ukupan broj radnih stanica s Windows XP i poslužitelja s Windows 2003 prilično velik. A postoji nešto čemu treba težiti.


Kod zahtjeva je ispod spojlera.

let Source = ActiveDirectory.Domains("domain.ru"), domain.ru = Source()[#"Object Categories"], computer1 = domain.ru(), #"Remote Columns" = Table.RemoveColumns(computer1,( "user", "organizationalPerson", "person")), #"Ostali uklonjeni stupci" = Table.SelectColumns(#"Udaljeni stupci",("displayName", "computer", "top")), #"Proširi stavku računalo" = Table.ExpandRecordColumn(#"Ostali udaljeni stupci", "računalo", ("cn", "operatingSystem", "operatingSystemServicePack", "operatingSystemVersion"), ("cn", "operatingSystem", "operatingSystemServicePack", " OperatingSystemVersion")), #"Prošireni gornji element" = Table.ExpandRecordColumn(#"Prošireni računalni element", "vrh", ("whenCreated"), ("whenCreated")), #"Extracted year" = Table.TransformColumns( #"Prošireni vrh elementa",(("whenCreated", Datum.Godina))), #"Udaljeni stupci1" = Table.RemoveColumns(#"Izdvojena godina",("displayName")) u #"Udaljeni stupci1"

Dodaj oznake

Dobar dan, dragi čitatelji i pretplatnici, nastavljamo proučavati mogućnosti Powershell i Active Directory. 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 zaboravljanja važnih informacija. I dolazimo do zaključka da se neaktivni korisnici (otpušteni ili zaboravljeni) gomilaju u Actvie imeniku, u svakom slučaju, dobar sistemski administrator bi ih trebao identificirati, onesposobiti i po želji obrisati, što ćemo mi i učiniti.

Preko ADUC snap-ina

Prošli put sam vam već dao primjer korištenja Active Directory Users and Computers snap-ina, preko kojeg 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 AD na Windows Server 2012 R2, otvorite ADUC, da to učinite 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 posljednje prijave", na primjer, postavio sam je na 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

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:

Najbolji članci na temu