Il codice sotto di me ottiene gli utenti nel gruppo, ma viene restituito "CN=johnson\,Tom,OU=Users,OU=Main,DC=company,DC=com"
ottenere i nomi utente in un gruppo di Active Directory tramite .net
voglio tornare solo il Cognome e nome. Come posso realizzare questo?
DirectoryEntry ou = new DirectoryEntry();
DirectorySearcher src = new DirectorySearcher();
src.Filter = ("(&(objectClass=group)(CN=Gname))");
SearchResult res = src.FindOne();
if (res != null)
{
DirectoryEntry deGroup = new DirectoryEntry(res.Path);
PropertyCollection pcoll = deGroup.Properties;
foreach (object obj in deGroup.Properties["member"])
{
ListBox1.Items.Add(obj.ToString());
}
}
Quanto segue non è davvero una risposta, solo un avvertimento: avvolgere la DirectoryEntry, DirectorySearcher e soprattutto eventuali SearchResultCollections (ad esempio da chiamare [DirectorySearcher.FindAll] (http : //msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.findall.aspx)) in un'istruzione using, o un try/finally con una chiamata Dispose. SearchResultCollections non può essere garbage collection. Ho rintracciato una perdita di memoria per giorni dopo aver usato un esempio che ho trovato online che non ha eliminato nulla. Controllare attentamente la documentazione MS per vedere quali classi sono coinvolte nella ricerca di Active Directory hav –