Read all users of an Active Directory in C#
29-12-2015 13:42:29
C# / WinRT
0 Bookmark(s)
202 View(s)
public void ExportEmployees()
{
var directoryEntry = new DirectoryEntry("LDAP://ads.yourdomain.com");
var directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.Filter = "(objectClass=user)";
//directorySearcher.Filter = string.Format("(&(SAMAccountName={0}))", "username");
var users = directorySearcher.FindAll();
using (var writer = File.CreateText(@"C:\temp\employees.csv"))
{
for (int i = 0; i < users.Count; i++)
{
var entry = users[i].GetDirectoryEntry();
var cn = entry.GetFirstPropValue("cn");
if (users[i].Properties["thumbnailPhoto"].Count > 0)
{
writer.WriteLine("{0};{1};{2};{3};{4}",
cn,
entry.GetFirstPropValue("sn"),
entry.GetFirstPropValue("givenName"),
entry.GetFirstPropValue("title"),
entry.GetFirstPropValue("department")
);
var bytes = users[i].Properties["thumbnailPhoto"][0] as byte[];
File.WriteAllBytes(@"C:\temp\" + cn + ".jpg", bytes);
}
}
}
}