Windows Server 2008 uključuje grafičke alate kao što su Active Directory Users and Computers za upravljanje objektima u aktivnom direktorijumu. Grafičke alati čine jednostavnijim kreiranje i editovanje objekata u aktivnom direktorijumu zato što nudi čarobnjake i defninisanu strukturu za kreiranje objekta. Kada kreiramo korisnički nalog pomoću alata Active Directory Users and Computers, čarobnjak nas pita za sve potrebne informacije kao što su: ime, prezime, i korisničko ime (User Name, Password).

Grafički alati imaju ograničenu podršku za pravljenje velikih promena (Bulk Changes) u objektima aktivnog direktorijuma. Na primer, možemo da modifikujemo samo nekoliko osobina onda kada odjednom selektujemo više korisnika pomoću alata Active Directory Users and Computers. Grafički alati takođe nemaju mogućnost da automatizuju upravljanje objektima u AD. Na primer, aplikacije ne mogu da koriste Active Directory Users and Computers za kreiranje novog korisničkog naloga.

Da bismo napravili veliku količinu promena (Bulk Changes) u objektima aktivnog direktorijuma i da bismo automatizovali upravljanje AD objekata, moramo da koristimo alate koji su dizajnirani specijalno u tu svrhu. Ovi alati su uključeni u Windows Server 2008 Command-line, LDIFDE, CSVDE, VBScript podrška i Windows PowerShell.

Command-line alati za upravljanje aktivnim direktorijumom

Windows Support Tools za Windows Server 2000 i Windows Server 2003 su sadržali brojne alate za komandnu liniju, a koji služe za upravljanje AD objektima. U Windows Server 2008 ovi alati se instaliraju nakon dodavanja AD DS uloge.

Command-line alati za upravljanje AD-om su korisniji ako se koriste u Batch fajlovima. Batch File je tekstualni File koji ima BAT File ekstenziju (.bat). Svaka linija u Batch fajlu predstavlja neku komandu. Možemo da koristimo bilo koju komandu u Batch File-u koju u normalinim okolnostima možemo koristiti i na komandnoj liniji.

Možemo da koristimo Batch File-ove za automatizaciju procesa koji se sprovode na mnogim objektima u dato vreme. Na primer, možemo da kreiramo Batch File koji modifikuje adresne informacije za sve korisnike u OU kada odeljenje promeni lokaciju. Takođe možemo da automatizujemo zadatke koji moraju da se odrade na redovnoj osnovi startovanjem Batch fajla kao zakazani zadatak (Scheduled task).

Komande koje možemo da koristimo za upravljanje AD:

  • Dsadd: Koristi se za dodavanje objekata u aktivni direktorijum. Možemo da dodajemo kompjutere, kontakte, korisnike grupe i organizacione jedinice (OU).

  • Dsmod: Koristi se za modifikovanje objekata u AD. Možemo da modifikujemo kompjuterske naloge, korisničke naloge, OUs, grupe.

  • Dsmove: Ova komanda se koristi za pomeranje i menjanje imena objekata u AD-u. Ova komanda takođe može da pomera objekte unutar domena.

  • Dsrm: Koristi se za uklanjanje objekata iz aktivnog direktorijuma. Kao dodatak uklanjanju objekata možemo da koristimo ovu komandu i za uklanjanje celog kontejnera i njegovog sadržaja.

  • Dsquery: Koristi se za pronalaženje objekata u AD sa specifičnim Properties-om. Ova komanda se takođe može koristiti za odrađivanje LDAP upita koji nam dozvoljavaju da pronađemo tip objekta i bilo koji atribut objekta.

  • Dsget: Koristi se za pogled na osobine - Properties objekta u AD-u. Podrazumevano, osobine - Properties se prikazuje na ekranu, ali se prikaz osobina može preusmeriti na neki fajl za dalju proveru.


Korišćenje LDIFDE i CSVDE

Windows Server 2008 uključuje LDIFDE i CSVDE za odrađivanje Bulk importovanja i eksportovanja informacija iz aktivnog direktorijuma. Svaka alatka čita informacije iz fajla podatka (Data File) i nakon toga kreira ili modifikuje objekat aktivnog direktorijuma u zavisnosti od podatka iz pomenutog fajla. Glavna razlika između ove dve alatke je format podataka. CSVDE koristi Comma-separated iznose (CSV) File, dok LDIFDE koristi podatke u LDAP Directory Intercharge Format-u (LDIF).

Odluka o tome koju alatku ćete koristiti biće doneta na osnovu formata podataka. Na primer, ako organizacija poseduje Human Resources aplikaciju koja eksportuje podatke o novim zaposlenima u LDIF formatu, tada ćete koristiti LDIFDE. Ipak, ako škola ima listu novih studenata u Microsoft Office Excel Spreadsheet formatu, oni se mogu lako sačuvati u CSV   fajlu tako da bi trebalo da koristite CSVDE za kreiranje novih studenata.

LDFIDE: LDIF je standardni format podataka koji je definisan u RFC 2849. Najčešće se koristi za importovanje i eksportovanje podataka iz direktorijuma uključujući i AD i druge LDAP direktorijume.

Podaci u LDIF File-ovima sadrže više zapisa koji su odvojeni blanko linijom. Svaki zapis ima nekoliko linija koje predstavljaju specifične informacije. On se koristi da bi se ukazalo na to da je objekat modifikovan. Changetype se koristi da bi se ukazalo na to da je neka akcija preduzeta. Validne vrednosti za Changetype su Add, Modify i Delete. “-“ ovaj znak se koristi za odvajanje atributa jednog objekta, takođe je zahtevan na kraju svakog zapisa kada je Changetype postavljen na Modify. U sledećem primeru LDIF File modifikuje dva atributa korisničkog naloga Student:

dn: CN=Student, OU=Računovodstvo,DC=Linkgroup,DC=com
changetype: Modufy
replace: physicalDeliveryOfficeName
physicalDeliveryOfficeName: 315
-
replace: title
title: HR Manager
-

 
LDIFDE može da bude koristan u brojnim scenarijima:

  • Bulk modification of user accounts: Da bismo realizovali promenu većeg broja naloga, potrebno je da eksportujemo određene korisničke naloge u LDIF File, modifikujemo LDIF File i nakon toga importujemo LDIF File. Modifikovanje LDIF fajla nakon eksportovanja zahteva jedno prosto pretraživanje i promenu iznosa atributa koje želimo da modifikujemo.
  • Moving user accounts to a new domain: Korisnički nalozi u jednom domenu mogu da se eksportuju u jedan LDIF File i nakon toga da budu importovani u drugi domen. Korisnici neće održavati postojeće SID-ove. Korisnici će moći da se dodaju u odgovarajuće grupe kao deo Import procesa.
  • Bulk creation of new users: Kao dodatak DN i Changetype linijama, minimum atributa koji moraju da se daju prilikom kreiranja novog korisnika su cn=displayname & objectClass=user.



CSVDE: CSVDE je koristan u slučajevima u kojim podaci nisu odmah dostupni u LDIF formatu. Mnoge aplikacije su u stanju da eksportuju podatke u CSV File, ali ne toliko kao u LDIF File. Svaka linija u CSV File-u koristi CSVDE u individualnom zapisu koji će procesuirati CSVDE. Ova linija je lista iznosa atributa koji treba da budu dodati ili modifikovani. Nijedna akcija nije definisana u File-u, za razliku od LDIFDE, CSVDE uvek kreira novi objekat za svaku liniju u CSV File-u. Prva linija u CSV File-u je Header koji definiše koji atribut odgovara svakom iznosu u linijama ispod.

Kada koristimo CSVDE za eksportovanje podataka, iste opcije za filtriranje podataka postoje kao i za LDIFDE. Možemo da filtriramo izlaze na osnovu klase objekta i atributa.

Korišćenje VBScript za upravljanje objektima u AD

Batch File-ovi su prosta implementacija skriptovanja koje može da se iskoristi u Windows Server 2008. Ipak, ako kreiramo skripte koristeći Scripting jezik kao što je VBScript, moći ćemo da odradimo mnogo kompleksnije zadatke. Neke od prednosti korišćenja skripti za upravljanje objektima u AD su:

  • Startovanje skripte je obično mnogo brže od odrađivanja istog zadatka koristeći grafičku alatku.
  • Skripte se mogu ponovo koristiti. Inicijalna izgradnja jedne skripte traje duže od korišćenja grafičkog alata, ali nakon što je Scripta kompletirana i završena, moći ćemo da je iskoristimo mnogo puta uz minimalne modifikacije kako bismo odgovorili na nove okolnosti.
  • Skripte mogu da smanje ili eliminišu ljudske greške. Ponovnim korišćenjem jedne skipte, možemo da izbegnemo greške koje mogu da se pojave ponavljanjem ručnog procesa. Skripte takođe mogu da procenjuju informacije koje su ubačene.
  • Skipte mogu da manipulišu svim dozvoljenim atributima objekata. Grafički alati nam dozvoljavaju da modifikujemo samo određene atribute objekata. Skripte nemaju mnogo ograničenja.
  • Skripte mogu vremenski da se raspoređuju (Scheduled). Raspoređivanje skipte da se izvršava u određeno vreme je veoma korisno za izvršavanje rutinskog održavanja. Na primer, možemo da pomeramo sve naloge ili da onemogućimo korisničke naloge u određenoj organizacionoj jednici u toku cele nedelje.


Scripting komponente u aktivnom direktorijumu

Skripting u Windows Serveru 2008 je podržan preko Windows Script Host (WSH). Postoje dva Run-time okruženja za WSH: Wscript.exe je Windows-based Run Time za grafičke aplikacije i Cscript.exe je Command-line Based Run Time koja piše izlazne informacije u komandnoj liniji. Wscript.exe je podrazumevani Run Time kada kliknemo dupli klik na skript.

Windows Script Host podržava korišćenje i VBScript & Jscript kao Scripting jezika. U većini slučajeva administratori sa manje iskustva u pisanjun Skripti bi trebalo da koriste VBScript. Većina Scripting primera koji su dostupni na Microsoft Web sajtu takođe koriste VBScript. VBScript se tipično završava sa .vbe ekstenzijom. Fajlovi koji imaju .wsf ekstenziju su generisani Windows Script Host File-ovi koji mogu da sadrže kombinaciju VBScript & Jscript.

Kreiranje i startovanje VBScript-a: Kada kreiramo VBScript, potreban nam je samo običan tekst editor kao što je Notepad. Jedini uslov je da Skriptu snimimo sa .vbe ili .vbs ekstenzijom. Takođe, postoje Script editori koji mogu da uproste proces kreiranja skripte. Script Editor je u mogućnosti da izvrši proveru sintakse unutar skripte tako da možemo da popravimo moguće greške koje se dešavaju u toku pisanja, umesto da primetimo greške tek nakon startovanja skripte.

Povezivanje objekta: Prvi korak u manipulisanju AD objekta u VBScriptu je povezivanje sa AD objektom. Binding to an Object je isto što i povezivanje na objekat. Ako kreiramo novi objekat, povezujemo se sa kontejnerom u kom će objekat biti kreiran. Ako modifikujemo postojeći objekat, povezujemo se na objekat koji želimo da modifikujemo. Kada smo se povezali na objekat, on je smešten u lokalnom kešu na kompjuteru na kom je startovan Script.

VBScript je Object-based jezik za kreiranje skripti. On nam omogućava da radimo sa objektima aktivnog direktorijuma kao sa jednom jedinicom i omogućava nam da odradimo akcije na celom objektu kao i na osobinama - Propertis-u objekta. Kada se povežemo na objekat AD, taj objekat je smešten u promenjivu koja predstavlja objekat. Tada administrator može da manipuliše promenjivom, a ne objektom.

Sledeći kod je primer povezivanja na organizacionu jedinicu Aktivnog direktorijuma. Promenjiva acctOU predstavlja In-memory Instance Accounting organizacione jedinice:

Set acctOU = GetObject(“LDAP://OU=Accounting,dc=lunkgroup,dc=com”)


Kreiranje novog objekta: Kreiranje novog objekta zahteva kreiranje nove promenjive koja sadrži informacije koje se odnose na novi objekat koji kreiramo. Novi objekat je kreiran koristeći Create metod na promenjivoj u datom kontejneru. Metode su akcije koje objekat može da odradi. Sledeća tabela izlistava neke od najčešće korišćenih metoda dostupnih za AD objekte kroz ADSI Interface:

Metod Opis
Create

Koristi se za kreiranje novih objekata

Get

Koristi se za pronalaženje atributa objekata 

GetEx

Koristi se za pronalaženje iznosa u nizu 

Put 

Koristi se za smeštanje novog iznosa u atribut objekta 

PutEx 

Koristi se za smeštanje novog iznosa u atribut objekta sa naprednim opcijama(Advance options) 

SetInfo  Koristi se za snimanje promena u novom ili u modifikovanom objektu

 
Tabela 10.1

Sledeći kod predstavlja primer kreiranja novog korisnika u Accounting organizacionoj jedinici:

Set newuser = acctOU.create(“user”,”cn=John Smith ”)
newUser.Put “sAMAccountName”,”Miloš”

Prilikom kreiranja novog objekta, moramo da definišemo sve obavezne atribute za klasu tog objekta. U ovom slučaju, definisanje cn & sAMAccountName je sasvim dovoljno za kreiranje novog korisnika. Drugi obavezni atributi kao što su SID, sistem generiše automatski.

Snimanje promena: kada manipulišemo objektima koristeći skripte, snimaju se promene koje su odrađene samo na keširanoj verziji objekta. Ove promene moraju da se snime u Aktivnom direktorijumu koristeći sledeći kod:

newUser.Setinfo

Setinfo metod snima promene samo za jedan objekat. Ako imamo više objekata u skripti koje želimo da kreiramo, onda moramo da koristimo SetInfo metod za svaki objekat posebno.

Windows PowerShell za upravljanje objektima u Aktivnom direktorijumu

Windows PowerShell je novo Scripting & Command-line okruženje koje je uključeno u Windows Server 2008 i koje može da se iskoristi za administraciju Windows sistema. Morate naknadno da instalirate Windows PowerShell karakteristiku - Feature, zato što podrazumevano nije instalirana. Windows PowerShell se takođe može preuzeti za Windows XP SP2, Windows Vista i Windows Server 2003.

Windows PowerShell komande mogu se koristiti direktno sa komandne linije ili u skripti. Command Shell PowerShell.exe nudi okruženje za startovanje Windows PowerShell komandi na isti način kao što Cmd.exe nudi okruženje za startovanje tradicionalnih alatki za komandnu liniju. Windows PowerShell skripte su tekstualni fajlovi u kojima se nalaze Windows PowerShell komande na isti način kao i Batch File-ovi koji predstavljaju tekstualne fajlove sa komandama koje možemo da pokrenemo sa komandne linije. Windows PowerShell skripte imaju .psl ekstenziju. Neki MMC Snap-inovi koriste Windows PowerShell za izvršavanje zadataka. Na primer, Exchange Management konzola za upravljanje Microsoft Exchange serverom 2007 zahteva Windows PowerShell.

Za više informacija o Windows PowerShell-u, posetite Microsoft bazu znanja na adresi:

http://technet.microsoft.com/en-us/default.aspx


Cmdlet sintaksa: cmdlet (čita se: komandlet) je komanda koja se koristi u Windows PowerShell-u. Svaki cmdlet je sastavljen od para glagola-imenice (Verb-Noun) koji su odvojeni crticom (Dash). Glagol opisuje akciju koja će biti preduzeta, a imenica opisuje gde će akcija biti odrađena. Neki od najčešćih glagola koji se koriste u cmdlet komandi su: Get, Set, New & Remove. U većini slučajeva, dodatni parametri se dodaju u cmdlet da bi ponudili dodatne informacije. Parametri idu uvek i ispred i iza crtice, evo jednog primera sintakse za korišćenje cmdlet komande:

Verb-noun –parametername parametervalue –parametername


Sledeći primer prikazuje korišćenje get-Help cmdlet-a za prikazivanje pomoćnih informacija za Get-Service cmdlet. Parametar -Name se koristi za ukazivanje imena cmdlet-a za koji želimo da dobijemo informacije. Parametar -Detailed se koristi da ukaže na to da je potrebna detaljna lista informacija, a ne kratak pregled:

Get-Help –Name Get-Service –Detailed

Pristupanje objektima u aktivnom direktorijumu

Windows PowerShell ne uključuje nijedan cmdlet koji se odnosi na upravljanje objektima aktivnog direktorijuma. Ipak, postoje dva Interface-a koja mogu da se iskoriste za pristup objektima aktivnog direktorijuma radi manipulisanja.

System.DirectoryServices.DirectoryEntry je Class objekat u Microsoft .NET Framework-u koji može da se iskoristi za pristupanje svim mogućim funkcijama aktivnog direktorijuma iz PowerShell-a. [ADSI] je Type Accelerator u System.DirectoryServices.DirectoryEntry koji uprošćava pristup aktivnom direktorijumu. Korišćenje [ADSI] je slično kao kad se pristupa objektima aktivnog direktorijuma koristeći VBScript-u. Obe ove metode se mogu koristiti u kombinaciji. Proces pristupanja objektima aktivnog direktorijuma u PowerShell-u je otprilike isti kao kada koristimo VBScript, ali sa drugačijim sintaksama. Prvo, moramo da se povežemo na određeni objekat aktivnog direktorijuma, odradimo promene koje želimo i nakon toga primenimo promene. Najčešće metode koje koristimo preko [ADSI] su: Create(), Get(), Put(), Delete(), SetInfo().

Sledeći primer kreira novog korisnika u organizacionoj jedinici (OU) Accounting. Promenjiva $acctOU se koristi za kreiranje veze sa Accounting OU. Promenljiva $newUser se koristi za kreiranje novog korisnika John Smith. Primećujete da SetInfo metoda mora da se iskoristi da bi se primenile promene i da bi se kreirao novi korisnik pre definisanja atributa sAMAccountName. Ovo je drugačiji proces nego u VBScirptu.

$acctOU = [ADSI] ‘LDAP://OU=Accounting,DC=Linkgroup,DC=com’
$newUser = $acctOU.create(‘User’,’CN=John Smith’)
$newUser.setinfo()
$newUser.sAMAccountName = ‘Paul’
$newUser.setinfo()


Korišćenje CSV fajlova

Možemo da koristimo Import-Csv cmdlet za učitavanje podataka iz CSV fajla u promenjivu. Najčešći scenario za korišćenje je kreiranje velike količine objekata u aktivnom direktorijumu (Bulk creation AD objects). CSV File mora imati red Header (Header Row) koji opisuje svaku kolonu podatka, ali za razliku od CSVDE alatke, Header Row deskriptori se koriste samo za pregled podatka koji se importuje.

Ako ne želimo da koristimo sve podatke iz CSV fajla, možemo da filtriramo podatke koristeći Where-Object cmdlet. Ovaj cmdlet nam omogućava da definišemo filter na osnovu podataka u CSV File-u. Sledeći primer filtrira sadržaj Users.csv fajla iz kog želimo da koristimo samo redove u kojima je odeljenje Accounting (Department Accounting). Kompleksniji upiti se mogu kreirati dodavanjem dodatnih kriterijuma u filter. Nakon što su određeni redovi (Rows) smešteni u $users promenjivu, podatak se može iskoristiti za kreiranje novih korisnika ili za dalju manipulaciju.

$users = Import-Csv C:\Users.csv | Where/Object {$_.department –eq „Accounting“}

Dodaj komentar Sviđa mi se - (0) Ne sviđa mi se - (0)    

  • Automatizovanje AD DS Object Management-a 1
  • Automatizovanje AD DS Object Management-a 2
  • Automatizovanje AD DS Object Management-a 3