AD – Rekurencyjne wyszukiwanie obiektów

Kiedyś napisałem dwa skrypty. Jeden wyszukujący rekurencyjnie członków wskazanej grupy, drugi odwrotnie wyszukujący wszystkie grupy, w której dany użytkownik jest członkiem. Skrypty nie były zbyt skomplikowane, niemniej jednak okazuje się, iż całe zadanie można wykonać jeszcze prościej.

Tak naprawdę, nawet przy wykorzystaniu jednego polecenia. Mianowicie, stosują filtry wyszukiwania LDAP możliwe jest zastosowanie kilku ciekawych trików, jak na przyład: 1.2.840.113556.1.4.1941.

Rekurencyjne wyszukiwanie członków grupy:

Wyobraźmy sobie sytuację, iż posiadamy grupę, w ramach której nie posiadamy wprost przypisanych użytkowników, ale zamiast nich są inne podgrupy. Dopiero gdzieś na końcu tego drzewa grup, znajdują się użytkownicy końcowi. W takiej sytuacji weryfikacja faktycznego członkostwa w w/w grupie może być nieco utrudnione. Dlatego aby z niej wybrnąć wystarczy zastosować ów trik w ramach filtru LDAP:

Get-ADUser -LDAPFilter "(memberOf:1.2.840.113556.1.4.1941:=CN=TestowaGrupaZawierajacaPodgrupy,DC=contoso,DC=com)"

Pozwoli on na rekurencyjne przejrzenie wszystkich podgrup i wyłuskanie końcowych użytkowników. Może to być przydatne w dwóch sytuacjach. Mianowicie, podczas weryfikacji członkostwa w grupie dystrybucyjnej, gdy chcemy mieć pewność do jakich adresatów zostanie wysłana wiadomość lub w przypadku gdy zamierzamy stosować uprawnienia na bazie takiej grupy zabezpieczeń.

Rekurencyjne wyszukiwanie grup użytkownika:

Zbliżoną sytuację możemy mieć, gdy musimy zweryfikować w jakich grupach faktycznie jest dany użytkownik. Zapewne w każdym środowisku zdarza się zagnieżdżać kolejne grupy wewnątrz siebie, co niekiedy może prowadzić do pewnej dezorientacji. Dlatego, aby nieco rozjaśnić sytuację wystarczy po raz kolejny zastosować ów metodę filtrowania LDAP, jednakże tym razem w przeciwnym kierunku:

Get-ADGroup -LDAPFilter "(member:1.2.840.113556.1.4.1941:=CN=TestowyUzytkownik,DC=contoso,DC=com)"

Tym razem zostaną rekurencyjnie wylistowane wszystkie grupy, których członkiem jest dany użytkownik. Jak łatwo się domyślić przydatne jest to podczas weryfikowania np. uprawnień dostępu do zasobów, gdyż pozwala wprost zweryfikować członkostwo we właściwych grupach.

Źródła:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa746475(v=vs.85).aspx

Advertisements

One thought on “AD – Rekurencyjne wyszukiwanie obiektów

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s