Saturday, March 29th, 2008...3:41 pm
"Wyświetlacze" i dodatkowe kolumny w ADU&C
Jump to Comments
Pytanie lubią się powtarzać - ostatnio dwa razy trafiło się pytanie o to jak rozszerzyć domyślny widok użytkownika w konsoli ADU&C o dodatkowe kolumny widoczne przy listowaniu użytkowników. Dwa pytania to już powód do napisania na ten temat notki.
Jakieś dwa tygodnie temu zachaczył mnie o to Gabriel Zgirski … pierwsza odpowiedź jaką mu dałem to “ciężko będzie”. Cóż … jak widać człowiek nie wie wszystkiego, troche poszperałem i okazało się że może nie tak cieżko.
Potrzebne więc nam będą:
- Visual Studio z kompilatorem C++
- Trochę wiedzy na temat pisania w C++ pod kątem interfejsu użytkownika Windows
- … w zasadzie tyle.
Nie wygląda trudno … prawdaż. No dobrze :), żartuje. Jest trochę prościej.
Active Directory w partycji konfiguracji zawiera kontener Cn=Display Specifiers, w którym znajdziemy umieszczone w dodatkowych kontenerach obiekty klasy displaySpecifier (czyli tytułowe wyświetlacze). Nazwa każdego z konterów odpowiada identyfikatorowi wersji językowej - czyli na przykład 409 to wersja angielska a 415 to wersja polska. Jest to o tyle ważne, że modyfikacje musimy wykonywać we wszystkich definicji dla wersji językowych narzędzi, z których korzystamy.
W dużym uproszczeniu displaySpecifier określa element interfejsu użytkownika wyświetlany w ramach narzędzi do zarządzania Active Directory. Modyfikując istniejące obiekty lub tworząc nowe możemy na przykład dodać nowy element menu kontekstowego lub jak w omawianym przykładzie wyświetlić dodatkową kolumnę.
Przechodząc do rzeczy. W ramach katalogu obiekty użytkowników najczęściej umieszczamy w ramach kontenerów OU. Znajdźmy więc odpowiedni displaySpecifier odpowiadający za wyświetlanie OU w angielskiej wersji językowej konsoli:
CN=organizationalUnit-Display,CN=409,CN=DisplaySpecifiers,CN=Configuration,DC=w2k,DC=pl
Obiekt ten może zawierać atrybut extraColumns, dzięki któremu możemy rozszerzyć widok obiektów w naszej konsoli. Atrybut ten może zawierać wiele wartości znakowych w następującym formacie:
<ldapdisplayname>,<column header>,<default visibility>,<width>,<unused>
Nazwy mówią chyba same za siebie - należy tylko zaznaczyć, że w ostatnim polu należy zawsze wstawić 0 (zero).
I tak modyfikując atrybut extraColums dla definicji wyświetlacza OU następującą wartością:
distinguishedName,DN,1,150,0
uzyskujemy w widoku ADU&C dodatkową kolumnę DN:
I to w zasadzie by było na tyle w temacie.

Leave a Reply