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
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
Sfruttare la local cache del browser tramite gli ETag in ASP.NET Core
Migliorare la scalabilità di ASP.NET Core 7 grazie all'output cache
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Sfruttare l'output cache di ASP.NET Core 7 con i controller
Cache policy su route groups di Minimal API in ASP.NET Core 7
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Taggare la output cache in base al routing in ASP.NET Core
Gestire dati sensibili nella configurazione in ASP.NET Core
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Definire la durata dell'output cache in ASP.NET Core 7