Ciao mi sono bloccato cercando di aggiungere una funzione al mio programma di moduli di Windows che consente a un utente di digitare in una casella di testo che computer o computer vorrebbero cercare in Active Directory. L'utente immette la stringa di ricerca in una casella di testo, quindi fa clic su un pulsante e i computer che corrispondono a tale risultato di ricerca vengono visualizzati in una casella di ricerca separata. Ecco il mio codice finora.Cerca Active Directory per i nomi di computer che utilizzano l'input utente
Vorrei anche ogni nome di computer per essere su una riga separata come ad esempio:
computername1
computername2
computername3
Grazie!
Questo è ciò che all'interno del tasto si presenta come:
List<string> hosts = new List<string>();
DirectoryEntry de = new DirectoryEntry();
de.Path = "LDAP://servername";
try
{
string adser = txtAd.Text; //textbox user inputs computer to search for
DirectorySearcher ser = new DirectorySearcher(de);
ser.Filter = "(&(ObjectCategory=computer)(cn=" + adser + "))";
ser.PropertiesToLoad.Add("name");
SearchResultCollection results = ser.FindAll();
foreach (SearchResult res in results)
//"CN=SGSVG007DC"
{
string computername = res.GetDirectoryEntry().Properties["Name"].Value.ToString();
hosts.Add(computername);
//string[] temp = res.Path.Split(','); //temp[0] would contain the computer name ex: cn=computerName,..
//string adcomp = (temp[0].Substring(10));
//txtcomputers.Text = adcomp.ToString();
}
txtcomputers.Text = hosts.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
de.Dispose();//Clean up resources
}
Si dovrebbe [accettare le risposte ad alcune delle vostre domande precedenti] (http://meta.stackexchange.com/q/5234/153998). Questo dimostra il tuo apprezzamento per le persone che * hanno dedicato il loro tempo ad aiutarti *, e miglioreranno le possibilità che risponderanno a qualsiasi domanda futura tu possa avere. –