C# - LDAP - Få ut personer som tillhör en grupp
Jag har gjort följande funktion som fungerar, dock bara lokalt på min maskin. Lägger jag upp den på nätverket så slutar den att fungera. Någon som har ett förslag på vad detta fel kan bero på, och inte bara säga att något är fel på servern dit jag lägger min kod?
Koden är som följer:
public ListItemCollection GetGroupMembers(string groupName)
{
ListItemCollection lic = new ListItemCollection();
DirectoryEntry entry = new DirectoryEntry("LDAP://<servernamn>");
DirectorySearcher dSearch = new DirectorySearcher(entry);
dSearch.Filter = FormFilter("group",groupName);
SearchResult ssResultSet = dSearch.FindOne();
if(ssResultSet != null)
{
DirectoryEntry e = new DirectoryEntry(ssResultSet.Path);
dSearch = new DirectorySearcher(e);
object members = e.Invoke("members",null);
foreach(object member in (IEnumerable)members)
{
DirectoryEntry x = new DirectoryEntry(member);
ListItem i = new ListItem(x.Properties["cn"].Value.ToString());
lic.Add(i);
}
entry = new DirectoryEntry("LDAP://<servernamn>");
dSearch = new DirectorySearcher(entry);
ListItemCollection lic2 = new ListItemCollection();
for(int i = 0 ; i < lic.Count ; i++)
{
dSearch.Filter = "(&(objectClass=user)(cn= "+lic[i].Text+"))";
foreach(SearchResult sResultSet in dSearch.FindAll())
{
ListItem k = new ListItem(GetProperty(sResultSet,"sAMAccountname"));
lic2.Add(k);
}
}
return lic2;
}
else
{
lic.Add("Felaktig LDAP");
lic.Add(dSearch.Filter.ToString());
return lic;
}
}
Nu hoppas jag på er guys