//Using
using System.DirectoryServices;
string server = "dc=abc,dc=User,dc=local"; //Insert Domain controller server here
string adminUser = "Systemtest"; //Insert an admin user account here
string adminPass = "DeineMutter18"; //Password for above username
DirectoryEntry de = new DirectoryEntry();
//##################################################
/// <summary>
/// Zeige alle Computer im AD an
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
de.Path = "LDAP://KKS//" + server + "";
de.Username = adminUser;
de.Password = adminPass;
try
{
DirectorySearcher ser = new DirectorySearcher();
ser.Filter = "(&ObjectCategory=computer)"; //Only allows Computers to be returned in results.
SearchResultCollection results = ser.FindAll();
listBox1.Items.Clear();
foreach (SearchResult res in results)
{
string[] temp = res.Path.Split(','); //temp[0] would contain the computer name ex: cn=computerName,..
listBox1.Items.Add(temp[0]);
//MessageBox.Show((temp[0].Substring(10))); //returns everything after LDAP://CN= until end of temp[0].
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
de.Dispose();//Clean up resources
}
}
//##################################################
/// <summary>
/// Zeige alle User im AD an
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
de.Path = "LDAP://" + server + "";
de.Username = adminUser;
de.Password = adminPass;
try
{
DirectorySearcher ser = new DirectorySearcher();
ser.Filter = "(&ObjectCategory=User)"; //Only allows User to be returned in results. --- "(&(objectClass=user))"
SearchResultCollection results = ser.FindAll();
listBox1.Items.Clear();
foreach (SearchResult res in results)
{
string[] temp = res.Path.Split(','); //temp[0] would contain the computer name ex: cn=computerName,..
listBox1.Items.Add(temp[0]);
//MessageBox.Show((temp[0].Substring(10))); //returns everything after LDAP://CN= until end of temp[0].
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
de.Dispose();//Clean up resources
}
}
//##################################################
Die 2 Methoden fragen die User und PC´s im AD ab, und zeigen Sie in ner Listbox an.
LG