Sempre più spesso gli utenti in Active Directory vengono utilizzati come sistema per l'autenticazione nell'ambito di applicazioni web, specie intranet.
Attraverso questo semplice script è possibile enumerare tutti gli utenti presenti in un particolare dominio (nello specifico, bochicchio.local) sfruttando un utente ad hoc per le interrogazioni.
using System.DirectoryServices; private string[] GetUsers() { ArrayList users = new ArrayList; // percorso AD, username e password per interrogare string path = "LDAP://server2003/DC=bochicchio,DC=local"; string localUsername = "ADwebuser"; string localPassword = "adTest"; // effettuo una ricerca in ActiveDirectory DirectorySearcher search = new DirectorySearcher(new DirectoryEntry(path, localUsername, localPassword)); search.Filter = "(&(objectclass=user)(objectCategory=person))"; // solo persone // proprietà richieste search.PropertiesToLoad.Add("samaccountname"); search.CacheResults = true; search.SizeLimit = 1000; // massimo 1000 utenti // cerco gli utenti SearchResultCollection results = search.FindAll(); foreach(SearchResult result in results) { // aggiugno lo username alla collezione users.Add(result.Properties["samaccountname"][0].ToString()); } search.Dispose(); // restituisco un array di stringhe return (string[])users.ToArray(typeof(String); }
Il codice restituisce un array di stringhe ed è l'ideale per costruire facilmente una lista degli utenti che appartengono ad un dominio.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.