Det går ikke vildt hurtigt fremad... :(
Indtil videre er det lykkes at tilgå AD vha. nedenstående kode (C# code behind - der refereres til en dropdown box, hvorfra den ønskede AD gruppe kan vælges! Dropdown boxen fyldes med automatisk med alle AD grupper!)
Når der er valgt fra dropdown boxen vises alle brugere fra denne i alfabetisk rækkefølge.
private void Page_Load(object sender, System.EventArgs e)
{
int vSelectedIndex = DropDownList1.SelectedIndex;
DirectoryEntry objRoot = new DirectoryEntry("
LDAP://Server/OU=Users_Navn,DC=NetværksNavn" ,"administrator","kodeord");
DataTable dtGroups = new DataTable();
dtGroups.Columns.Add("SystemName");
dtGroups.Columns.Add("GroupName");
DataRow dr;
dr = dtGroups.NewRow();
dr["SystemName"] = "";
dr["GroupName"] = "Vælg en afdeling";
dtGroups.Rows.Add(dr);
foreach(DirectoryEntry objChild in objRoot.Children)
{
dr = dtGroups.NewRow();
dr["SystemName"] = objChild.Properties["ou"].Value.ToString();
dr["GroupName"] = objChild.Properties["ou"].Value.ToString().Remove(0,6);
dtGroups.Rows.Add(dr);
}
DropDownList1.DataValueField = dtGroups.Columns["SystemName"].ToString();
DropDownList1.DataTextField = dtGroups.Columns["GroupName"].ToString();
DropDownList1.DataSource = dtGroups;
DropDownList1.DataBind();
DropDownList1.SelectedIndex = vSelectedIndex;
if(Page.IsPostBack)
{
string vNames="";
if(DropDownList1.SelectedValue.ToString()!="")
{
DirectorySearcher objSearch = new DirectorySearcher();
objSearch.SearchRoot = new DirectoryEntry
("
LDAP://Server/OU=" + DropDownList1.SelectedValue.ToString() + ",OU=Users_Navn,DC=NetværksNavn" ,"administrator","kodeord");
objSearch.Filter = "(&(objectclass=user))";
objSearch.SearchScope = SearchScope.Subtree;
objSearch.PropertiesToLoad.Add("cn");
objSearch.PropertiesToLoad.Add("memberOf");
objSearch.Sort.Direction = SortDirection.Ascending;
objSearch.Sort.PropertyName = "cn";
SearchResultCollection colQueryResults;
colQueryResults = objSearch.FindAll();
foreach(SearchResult objResult in colQueryResults)
{
vNames += objResult.Properties["cn"][0]+"<br>";
}
}
else
{
vNames ="";
}
Literal1.Text = vNames;
}
}
link til yderligere hjælp:
http://www.upyourasp.net/articles/article.aspx?aid=13