2013-03-15 2 views
1

Мой первый проект - создать веб-инструмент для нашего Active Directory. Одна из вещей, которую мне нужно сделать, это получить и отобразить Группы, отображаемые на вкладке «MemberOf» учетной записи пользователя в Active Directory, и передать ее в gridview. Я сделал домашнюю работу, и вот что у меня есть.Как получить группы на вкладке «Участник» в Active Directory

У меня есть текстовое поле (txtusername), а рядом с ним есть кнопка («Группы поиска этого пользователя»).

Вот мой код:

protected void btnsearch_Click(object sender, EventArgs e) 
{ 
    ADMAM.GetUserGroups(txtusername.Text, Session["WindowsID"].ToString(), Session["Password"].ToString()); 
} 

public DataTable GetUserGroups(string sUserName, string windowsid, string password) 
{ 
    DataTable dt = new DataTable(); 
    UserPrincipal oUserPrincipal = GetUser(sUserName, windowsid, password); 

    PrincipalSearchResult<Principal> oPrincipalSearchResult = oUserPrincipal.GetGroups(); 

    foreach (Principal oResult in oPrincipalSearchResult) 
    { 
     dt.Rows.Add(oResult.Name); 
     dt.AcceptChanges(); 
    } 

    return dt; 
} 

Я до сих пор не могут получить группы внутри вкладки «MemberOf».

ответ

0

Попробуйте использовать .GetAuthorizationGroups вызов:

PrincipalSearchResult<Principal> oPrincipalSearchResult = oUserPrincipal.GetAuthorizationGroups(); 

foreach (Principal oResult in oPrincipalSearchResult) 
{ 
    dt.Rows.Add(oResult.Name); 
    dt.AcceptChanges(); 
} 

Это имеет дополнительное преимущество, что она будет рекурсивно искать через членство в группах для пользователя (если пользователь является членом Group A, который в свою очередь является членом Group B, то .GetAuthorizationGroups() также будет возвращать Group B в качестве группы, членом которой является участник - косвенно).

+0

Hi marc_s Спасибо за профессиональный совет. Я пробовал ваши советы ... Тем не менее, мне не удалось получить группы внутри вкладки memberof. Vice Versa, я могу получить членов OU. Моя цель - получить членство, к которому принадлежит пользователь. Я попытался выполнить поиск в моей учетной записи, которая является членом 8-10 групп. но ни один из них не появился по моему запросу. Есть ли что-то, что я забыл или неправильно использовал (возможно, есть)? Спасибо за ответ! Цените это много! – Joel

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