czwartek, marca 15, 2007

hurtowe dodawanie czlonkow do grupy

czlonkow do grupy mozna dodac pojedynczo:
oGrp.add("LDAP://CN=user,CN=users,[...]")
albo hurtowo za pomoca putEx:

oGRP.PutEx ADS_PROPERTY_VALUE, "member", ARRAY_OF_USERS


ADS_PROPERTY_VALUE to wartosc okreslajaca zachowanie metody putEx - dodaj, usun, update, wyczysc. dzieki putEx m.in. mozna usunac wartosc. w przypadq dodawania do grupy istotne sa dwa szczegoly:
- uzycie ADS_PROPERTY_APPEND spowoduje wywalenie sie jesli w grupie jest juz czlonek, ktorego probujemy dodac. w efekcie nikt nie zostanie dodany. trzeba uzyc ADS_PROPERTY_UPDATE, ktory zachowuje sie w pozadany sposob - dodaje tych co moze.
- ARRAY_OF_USERS musi zawierac tablice Distinguished Names uzytkownikow. jest to dziwne bo przy oGrp.add podaje sie ADsPath czyli dla putEx tablica bedzie skladac sie z np. "CN=user,CN=users,DC=domena,DC=com" a przy 'add' poprawna wartoscia bedzie "LDAP://CN=user,CN=users,DC=domena,DC=com"

doawanie hurtowe ma drobna wade - nie ma mozliwosci outputu do zdebudowania, pozwalajacego okreslic czy wszystkie obiekty zostaly dodane [i ktore nie]. po prostu 'succes' lub 'error'. jednak ze wzgledu na wydajnosc - jest to metoda najbardziej efektywna, zwlaszcza jesli dodaje sie kilka set/kilka tysiecy membersow

Brak komentarzy: