Wyszukiwanie w ActiveDirectory użytkownika o danym loginie w danej grupie

0

Cześć,
W jaki sposób mogę skonstruować filtr do DirectorySearcher żeby sprawdzić czy w danej grupie istnieje użytkownik o danym loginie?

$"(sAMAccountName={login})";

Dla samego loginu działa mi coś takiego, ale nie mam pojęcia jak dodać jeszcze warunek, że ma użytkownika poszukać tylko w jednej grupie, a nie przeszukiwać całego AD.
Próbowałem:

$"(&(objectClass=user)(sAMAccountName={login})(memberOf=[{groupDistinguishedName}]))"

I tego typu konstrukcje ale zawsze w FindOne() dostaje null...
Jako groupDistinguishedName podawałem nazwe w formacie "CN=GroupName,CN=...,DC=...,DC=..."

1

Wydaje mi się, że twoje memberof nie powinno przyjmować tablicy [].

0

Próbowałem i tak i tak, ale patrząc na dane w AD to w memberof jest lista wszystkich grup.

0

A nie prościej byłoby Get members of Active Directory Group and check if they are enabled or disabled, zamiast DirectorySearcher?

0

Widziałem to rozwiązanie mógłbym spróbować, tylko nie wiem skąd wziąć System.DirectoryServices.AccountManagement, nigdzie tego nie widzę żeby dodać do referencji.

1

Prawym klawiszem na Dependencies => Manage Nuget Packages => zakładka Browse => w szukajce wpisujesz DirectoryServices

directory_services.png

1
AdamWox napisał(a):

Wydaje mi się, że twoje memberof nie powinno przyjmować tablicy [].

Rzeczywiście nie wiem jak to sprawdzałem czy może jakaś spacja się wkrała czy co ale w takiej formie:

(&(objectClass=user)(sAMAccountName=SomeUser)(memberOf=CN=groupName,OU=Groups,DC=example,DC=com))

Działa.
Ale dzięki też za drugie rozwiązanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1