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.
Approfondimenti
I più letti di oggi
- Supporto migliorato agli statement condizionali nelle pipeline di Azure DevOps
- .NET Campus 2012 - Roma
- Disponibile jQuery 1.6: attenzione alle breaking changes!
- Build 2017: segui con noi tutte le novità mercoledì 10 e giovedì 11 maggio da Seattle!
- Ancora un bug: esce Mono 0.23
- Accesso ai forum con gateway e-mail
- IronPython in Release Candidate
- Supportare IE11 in un'applicazione ASP.NET
- Versioning dei pacchetti NuGet in Visual Studio 2019
- Generare un nome per un file temporaneo