Active Directory OU-Liste
Habe ich diesen code derzeit,
string defaultNamingContext;
DirectoryEntry rootDSE = new DirectoryEntry("LDAP://RootDSE");
defaultNamingContext = rootDSE.Properties["defaultNamingContext"].Value.ToString();
rootDSE = new DirectoryEntry("LDAP://" + defaultNamingContext);
//DirectoryEntry domain = new DirectoryEntry((string)"LDAP://" + defaultNamingContext);
DirectorySearcher ouSearch = new DirectorySearcher(rootDSE,"(objectCategory=Organizational-Unit)",
null, SearchScope.Subtree);
MessageBox.Show(rootDSE.Path.ToString());
try
{
SearchResultCollection collectedResult = ouSearch.FindAll();
foreach (SearchResult temp in collectedResult)
{
comboBox1.Items.Add(temp.Properties["name"][0]);
DirectoryEntry ou = temp.GetDirectoryEntry();
}
}
Wenn ich den debugger kann ich sehen, dass rootDSE.Weg ist in der Tat verweist der richtigen Stelle, in diesem Fall DC=g-t-p,DC=Local
aber das Verzeichnis Sucher nicht keine Ergebnisse gefunden werden. Kann mir jemand helfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stephen - meine schlecht - für einige Grund, die Suche mit objectCategory nicht funktioniert.
Obwohl die
objectCategory
angezeigtCN=Organizational-Unit
, für die Suche, Sie müssen noch mit den gleichen Wert wie für das objectClass:So versuchen Sie die filter -
(objectCategory=organizationalUnit)
- das funktioniert auf jeden Fall für mich!UPDATE:, um zu bekommen, einige Eigenschaften in den Suchergebnissen erscheinen (in der Reihenfolge Sie angezeigt werden in der combo-box), müssen Sie diesen beim erstellen der DirectorySearcher:
Mit diese, Sie sollten definitiv in der Lage sein zu greifen, die
temp.Properties["name"][0]
und kleben Sie es in die combobox-Liste der Elemente.Sehe ich nicht wirklich, was Sie brauchen die Linie
nachdem er die name-Eigenschaft .....