Sto cercando di estrarre un elenco di OU correnti da Active Directory Ho guardato qualche codice di esempio online per un po ', ma O non sembra essere in grado di farlo funzionare.Acquisizione elenco OU AD
string defaultNamingContext;
DirectoryEntry rootDSE = new DirectoryEntry("LDAP://RootDSE");
defaultNamingContext = rootDSE.Properties["defaultNamingContext"].Value.ToString();
DirectorySearcher ouSearch = new DirectorySearcher(rootDSE, "(objectClass=organizationalUnit)",
null, SearchScope.Subtree);
MessageBox.Show(rootDSE.ToString());
try
{
SearchResultCollection collectedResult = ouSearch.FindAll();
foreach (SearchResult temp in collectedResult)
{
comboBox1.Items.Add(temp.Properties["name"][0]);
DirectoryEntry ou = temp.GetDirectoryEntry();
}
L'errore che ottengo è Non fornitore non supporta la ricerca e non può cercare LDAP: // RootDSE qualche idea? per ognuno di quelli restituiti risultati di ricerca Voglio aggiungerli a una casella combinata. (non dovrebbe essere troppo difficile)
Ho provato a cercare utilizzando il tuo suggerimento qui sopra, sembra una buona idea, anche se ha un noob che sta cercando di implementarlo. Ho cambiato l'impostazione predefinita in "dominio", che non ho potuto vedere se si trattava di un problema, il mio problema è che domain = System.DirectoryServices.DirectoryEntry, piuttosto che LDAP: // ... sebbene sia nella sua proprietà Path. –
Ho pensato di aggiungere per chiunque lo trovi dopo. Server 2003 R2 e precedenti non facevano * not * index 'objectClass', comunque 2008 e versioni successive. Non un colpo contro la risposta! Solo nuove informazioni. Fonte: http://msdn.microsoft.com/en-us/library/ms675095(v=vs.85).aspx – klyd