1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| // <summary>
/// Get All users from AD
/// </summary>
/// <param name="group"></param>
/// <returns></returns>
public List<string> GetUserGroupFromAD(string group)
{
group = group.Substring(group.IndexOf('\\') + 1, group.Length - group.IndexOf('\\') - 1);
List<string> users = new List<string>();
string domain = ConfigurationManager.AppSettings["Politique_LDAP"].ToString(); ;
string domainUser = ConfigurationManager.AppSettings["Politique_DomainUserId"].ToString();
string domainPWD = ConfigurationManager.AppSettings["Politique_DomainPWD"].ToString();
DirectoryEntry searchRoot = new DirectoryEntry(domain, domainUser, domainPWD);
DirectorySearcher searcher = new DirectorySearcher(searchRoot);
searcher.Filter = "(sAMAccountName=" + group + ")";
searcher.PropertiesToLoad.Add(AD_MemberOf);
searcher.PropertiesToLoad.Add("sAMAccountName");
SearchResult coll = searcher.FindOne();
if(coll == null){
return users;
}
foreach (object dn in coll.Properties["member"])
{
try
{
DirectoryEntry de = new DirectoryEntry(String.Format("LDAP://{0}", dn), domainUser, domainPWD);
users.Add(de.Properties["sAMAccountName"].Value.ToString());
}
catch (Exception ex)
{
Log(ex.Message, true);
}
}
return users;
} |
Partager