0

У меня есть LDAP-адрес для какой-либо группы, например LDAP: // CN = Пользователи, CN = Builtin, DC = tt, DC = s, DC = LOCAL Как я могу получить пользователей, принадлежащих к этой группе? Первоначально я думал, что делать это будет работать:Получить членов какой-либо группы

DirectoryEntry group = new DirectoryEntry("LDAP://CN=Users,CN=Builtin,DC=tt, DC=s, DC=LOCAL"); 
     foreach (object user in group.Properties["member"]) 
     { 
      DirectoryEntry _user = new DirectoryEntry("LDAP://" + user); 
      Console.WriteLine(_user.Properties["cn"].Value.ToString()); 
     } 

Однако это не печатает какой-либо из членов группы. Фактически, цикл foreach даже не выполняется, поскольку он не находит каких-либо членов группы. Но когда я смотрю на группу в базе данных, у нее явно есть несколько членов.

ответ

0

Я думаю, что часть домена отсутствует, даже в первом объекте DirectoryEntry.

Я использую String.Format("LDAP://{0}/{1}", _dc, distinguishedName_) где постоянного тока эта доменная часть и где DistinguishedName ваш «объект пользователя» в строке, для того, чтобы иметь что-то вроде

LDAP: //dc1.corp.domain.com/OU = учетные записи службы, OU = Corp Объекты, DC = corp, DC = домен, DC = com

Проверьте here.

 Смежные вопросы

  • Нет связанных вопросов^_^