Thursday, August 2nd, 2007...10:40 pm

ADSIEdit i członkostwo w grupach

Jump to Comments

CzÅ‚owiek zawsze siÄ™ czegoÅ› nowego uczy – chociażby i o narzÄ™dziu tak starym jak ADSIEdit. Ostatnio przy rozmowie z klientem na temat LVR wyszedÅ‚ temat koniecznoÅ›ci odÅ›wieżenia czÅ‚onkostwa w grupach AD, tak aby możliwe byÅ‚o peÅ‚ne wykorzystanie tego mechanizmu dla już istniejÄ…cych grup. Administrator po stronie klienta, na mojÄ… sugestiÄ™ użycia w tym celu ldifde.exe powiedziaÅ‚, że na szkoleniu PSS z AD disaster recovery mówiono mu o jakiejÅ› operacji na atrybucie schematu, która powoduje ten sam efekt a nie wymaga rÄ™cznych operacji eksportu i importu czÅ‚onkostwa w grupach.

Cóż … przyznam siÄ™ że wczeÅ›niej o tym nie sÅ‚yszaÅ‚em – nadal wiem że wielu rzeczy nie wiem. Szybko zasiÄ™gnÄ…Å‚em jÄ™zyka u starszego stażem i wiedzÄ… kolegi z polskiego MCS i uzyskaÅ‚em wskazówkÄ™ że pewnie chodzi o zachowanie ADSIEdit w takim przypadku.

Najłatwiej sprawdzić więc empirycznie. Otwieramy ADSIEDit.msc, szukamy obiektu grupy, prawy klik myszą, Properties. Odnajdujemy atrybut member i otwieramy jego zawartość. I tutaj ważna rzecz, bez żadnej zmiany zawartości zamykamy okno naciskając OK (nie Cancel). Zamykamy właściwości grupy. Wszystko jest w najlepszym porządku. Jeżeli jednak mamy włączone odpowiednie ustawienia inspekcji zdarzeń to po takiej operacji zauważymy w event log kilka zdarzeń:

Event Type: Success Audit
Description:
Security Enabled Global Group Changed:
Target Account Name: GrupaTestowa

———————————————————————–

Event Type: Success Audit
Event ID: 633
Security Enabled Global Group Member Removed:
Member Name: –
Member ID: W2K\user2
Target Account Name: GrupaTestowa

———————————————————————–

Event Type: Success Audit
Event ID: 633
Description:
Security Enabled Global Group Member Removed:
Member Name: –
Member ID: W2K\user1
Target Account Name: GrupaTestowa

———————————————————————–

Event Type: Success Audit
Event ID: 632
Description:
Security Enabled Global Group Member Added:
Member Name: CN=user2,OU=Employees,DC=w2k,DC=pl

———————————————————————–

Event Type: Success Audit
Event ID: 632
Description:
Security Enabled Global Group Member Added:
Member Name: CN=user,OU=Employees,DC=w2k,DC=pl

Czyli po wykonaniu tej operacji ADSIEdit usunęło wszystkich czÅ‚onków z grupy, a potem ponownie ich dodaÅ‚o. Efektywnie odÅ›wieżajÄ…c czÅ‚onkostwo w grupach – i zagadka magicznej operacji na atrybucie ze szkolenia siÄ™ wyjaÅ›niÅ‚a. W przypadku, gdy usuniemy tylko jednego czÅ‚onka z grupy to i tak zostanÄ… usuniÄ™ci wszyscy a nastÄ™pnie dodani tylko ci, którzy pozostajÄ… w grupie.

Wnioski: uważać na operacje przeprowadzane z użyciem ADSIEdit. W szczególnoÅ›ci gdy dotyczy to wiÄ™kszej grupy – po co generować niepotrzebny ruch zwiÄ…zany z jej replikacjÄ…. Jeżeli już w jakimÅ› celu użyjemy do podglÄ…du czÅ‚onkostwa w takiej grupie ADSIEdit to należy użyć Cancel w celu zamkniÄ™cia okna.

ADSIEdit nigdy nie było moim ulubionym narzędziem, chociaż czasami się przydaje do szybkich operacji. Jak widać, przynajmniej w odniesieniu do zarządzania członkostwem w grupach używanie go nie jest najbardziej efektywne. Ja polecam linię poleceń i ADmod.

1 Comment

  • ADModify też jest wygodne, gdy chce siÄ™ wykonać kilka zmian, na wielu obiektach z różnych OU’s (ostatnio miaÅ‚em konieczność wielokrotnie).

    Na marginesie – odwieczna ‘wojna’ miÄ™dzy narzÄ™dziami okienkowymi i command-line’owymi 😉

    Pozdrawiam

    yacoob

Leave a Reply