|
|
Active Directory konfigurálása szkriptekből - Szervezeti egységek és felhasználók létrehozása
|
|
Példaprogram letöltése
2328 bájt
|
Az Active Directory címtár alapvető konfigurálását - úgymint szervezeti egységek és felhasználók létrehozása, beállítása - szkriptekből is végre lehet hajtani. Miért jó ez? Mert egy esetleges újratelepítésnél néhány kattintással létrehozható akár egy munkaállomásról is a kívánt struktúra és nem igényel semmilyen külső eszközt, tisztán a Windows beépített lehetőségeire támaszkodik.
A cikkünkben tárgyalt példa-szkript mellékelve LDAP.VBS néven található.
Az Active Directory-hoz való hozzáférést az LDAP (Lightweight Directory Access Protocol) protokoll használatával lehet megvalósítani. Ezt a különböző címszolgáltatásokhoz fejlesztették ki, TCP/IP alapon működik. Különböző verziói láttak már napvilágot a Windows 2000 címtára az LDAP 2 és LDAP 3 verziókat ismeri. Jellemzője, hogy egyszerű utasításokkal dolgozik a hozzáférésen kívül, biztosítja a lekérdezés, módosítás, létrehozás lehetőségét az objektumok között. Felhasználható programokból, szkriptekből vagy az Internet Explorer-ből is. Cikkünkben egy példát mutatunk arra, hogy lehet VBScript-ből elérni és használni a címtárat.
Ténykedéseinket egy a címtárhoz csatlakozó kliensgépen, távolról hajtjuk végre. Ehhez először jelentkezzünk be az Active Directory-ba rendszergazdai jogosultságokkal. A szkriptből való csatlakozáshoz ezek a felhasználói bejelentkezési adatok fontosak, mert az operációs rendszer ezeket küldi el a kiszolgáló felé, amikor lefut a szkript. Következő lépés, hogy csatlakozzunk a címtárhoz:
Az LDAP "rootDSE" nevű attribútuma tartalmaz információkat arról a tartományról, amelyikhez a futtató gép csatlakozik. Hozzunk létre egy objektumot ugyanilyen néven, a csatlakozás szintaxisa hasonlít egy webcím lekérdezéséhez az Explorer-ben, csak nem a http, hanem az LDAP előtagot kell alkalmazni.
Set rootDSE = GetObject("LDAP://rootDSE")
A tartomány elnevezését a "defaultNamingContext" objektum tárolja, ehhez is hozzunk létre egy objektumváltozót, legyen a neve: "dom".
Set dom = GetObject("LDAP://" & rootDSE.Get("defaultNamingContext"))
Végül kérdezzük le a tartomány LDPA szintaxis szerinti nevét a "distinguishedName" tulajdonságból. Az "Animare.zp" tartománynál ez így jelenik meg: DC=Animare, DC=zp, ahol a DC jelentése: Domain Component (vagy Context).
DomainDn = dom.Get("distinguishedName")
Ezzel rendelkezésünkre áll minden objektumváltozó a címtár eléréséhez.
Folytassuk egy szervezeti egység létrehozásával a tartomány gyökerében ("dom"). Legyen a neve: "Vállalat".
A szervezeti egységre az LDAP-ban az OU (Organization Unit) azonosítóval lehet hivatkoz
Set ouVallalat = dom.Create("organizationalUnit", "OU=Vállalat")
Fűzhetünk hozzá egy leírást, ami a Felügyeleti eszközök > Active Directory - felhasználók és számítógépek (Administrative Tools > Active Directory users and computers) MMC konzolban a szervezeti egység tulajdonságlapján jelenik meg az "Általános" ("General") oldal "Leírás" ("Description") mezőjében (itt szerkeszthető is).
ouVallalat.Description = "Windows Software Online példa szervezeti egység"
Az utolsó lépés, hogy létrehozzuk a szervezeti egységet. Ehhez a "setinfo" metódust használhatjuk.
Ezzel az eljárással tetszőleges számú szervezeti egység létrehozható (a gyökérben), de mit kell tenni, ha egy meglévőn belülre akarjuk helyezni az újat? Ekkor az alábbi hivatkozási struktúrát kell alkalmazni. Példánkban a "Vállalaton" belül készítünk egy "Informatika" alegységet.
Set ouInformatika = ouVallalat.Create("organizationalUnit", "OU=Informatika")
ouInformatika.Description = "Windows Software Online példa szervezeti egység"
ouInformatika.setinfo
Az első sorban látható, hogy most nem a "dom"-hoz, hanem az "ouVallalat"-hoz rendeltük a létrehozandó egységet.
Helyezzünk el felhasználókat is az eddig kreált szervezeti egységekben.
Az első felhasználó neve legyen Feri és fiókja helyezkedjen el az Informatika (ouInformatika) egységen belül. Az általános objektumokra (mint a felhasználói nevek) az LDAP-ban a CN (Common Name) rövidítéssel lehet hivatkozni:
Set usr1 = ouInformatika.Create("user", "CN=Feri")
Meg kell adnunk a bejelentkezési nevet is. Példánkban ez szintén Feri, de lehet a felhasználói névtől eltérő is.
usr1.Put "samAccountName", "Feri"
Hozzuk létre az objektumot.
Miután ez lefutott, létrejött a Feri nevű felhasználói fiók, azonban alapértelmezésben le van tiltva. Engedélyezni az "AccountDisabled" logikai tulajdonság beállításával lehet.
usr1.AccountDisabled = False
Rögzítsük a változtatásokat.
Ezzel az eljárással egy alapértelmezett felhasználói fiók keletkezik, ami annyit jelent, hogy nincs beállítva jelszó. Ha megnézzük a tulajdonságlapot a Fiók > Fiókbeállítások (Account > Account options) jelölőnégyzet csoportban "A következő bejelentkezéskor meg kell változtatni a jelszót" ("User must change password at next logon") aktív.
Generáltassunk ismét egy fiókot, ezúttal a Vállalat főegységen belül.
Set usr2 = ouVallalat.Create("user", "CN=Tomi")
usr2.Put "samAccountName", "Tomi"
usr2.setinfo
usr2.AccountDisabled = False
usr2.SetInfo
Itt ugyanúgy történik a létrehozás helyének meghatározása, mint a szervezeti egységeknél. Az "ouInformatika" objektumot cseréltük "ouVallalat"-ra.
|
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|