Csoportok kezelése

Az Active Directory-ban csoportokat leginkább a rendszer üzemeltetésének megkönnyítésére veszünk fel. Segítségükkel osztunk ki hozzáférési jogokat, felhasználói jogokat, de még a csoportos házirendek érvényre jutását is szabályozhatjuk csoportokkal. Miután ilyen széleskörű a felhasználásuk, így fontos lehet a csoportok kezelésének automatizálása. Erre is kiválóan alkalmas a PowerShell, nézzük meg a leggyakoribb műveleteket.

Csoportot létrehozni a már látott módszerrel lehet:

PS C:\> $target = [ADSI] "LDAP://ou=Demó,DC=iqjb,DC=w08"

PS C:\> $group = $target.create("group","CN=Csoport")

PS C:\> $group.setinfo()

Ez alaphelyzetben globális biztonsági csoportot hoz létre. A későbbi, összetett példában majd bemutatom, hogy hogyan lehet másfajta csoportokat létrehozni.

Ezután kétféleképpen lehet tagokat adni a csoportokhoz. Az első módszer a hagyományos „ADSI”-s módszer, ahol a csoport Add metódusát hívom meg, paramétereként a berakni kívánt felhasználó LDAP-os szintaxisú elérési útját kell megadni. Vagy, ha már megragadtam a felhasználói fiókot, akkor vissza kell alakítani az LDAP-os elérési úttá, mint ahogy ebben a példában tettem:

PS C:\> $user = [ADSI] "LDAP://CN=János Vegetári,OU=Demó,DC=iqjb,DC=w08"

PS C:\> $group.add("LDAP://$($user.distinguishedname)")

PS C:\> $group.setinfo()

Hasonlóan lehet tagot eltávolítani, csak az Add helyett a Remove metódust kell meghívni.

A második módszer kicsit PowerShell-szerűbb, itt nem kell ide-oda alakítgatni, elég a felhasználó distinguishedname tulajdonságát használni:

PS C:\> $user = [ADSI] "LDAP://CN=Csilla Fájdalom,OU=Demó,DC=iqjb,DC=w08"

PS C:\> $group.member += $user.distinguishedname

PS C:\> $group.setinfo()

Természetesen a két megoldás egyenértékű, csak stílusbeli különbség van közöttük. A második módszer hátránya talán, hogy egyszerűen nem lehet csoporttagot eltávolítani, külön képezni kellene a nemkívánatos tag nélküli tömböt, és azt betölteni a csoport member tulajdonságába.



Word To HTML Converter