Lösningen är att vid varje sökning måste man göra en inloggning innan sökningen sker. (Det går säkert göra en session av det men det har jag ingen energi kvar att undersöka närmare just nu.)
// Logon
System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry("LDAP://Domän","username", "password");
//En variant av sökning
System.DirectoryServices.DirectorySearcher mySearcher = new System.DirectoryServices.DirectorySearcher(entry);
mySearcher.Filter = "(&(objectClass=person)(displayName="+variabelFrånTextbox1 +"*" +")(department="+ variabelFrånTextbox2 +"*" +")(samaccountname=*))";
ArrayList personList = new ArrayList();
foreach(System.DirectoryServices.SearchResult resEnt in mySearcher.FindAll())
{
System.DirectoryServices.DirectoryEntry de = resEnt.GetDirectoryEntry();
personList.Add(new Person(de.Properties["name"].Value.ToString(), de.Properties["department"].Value.ToString(), de.Properties["samaccountname"].Value.ToString()));
}
Nästa steg är att komma ner lite i AD:ets "mappstruktur" i samma veva som inloggningen. Om någon känner till detta på rak arm så mottages den hjälpen/infon tacksamt.
Om jag lyckas klura ut det så kommer jag presentera det också...