怎么获取AD组里的成员 本帖最后由 liangchengfck1 于 2012-11-12 10:37:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 okpublic partial class adgroup : System.Web.UI.Page { string LDAP = "LDAP://"; string groupName = "USB 15DRW"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { StringCollection groupMembers = this.GetGroupMembers(groupName); foreach (var user in groupMembers) { Response.Write(user.ToString() + "<br/>"); } } } public StringCollection GetGroupMembers(string strGroup) { StringCollection groupMemebers = new StringCollection(); try { DirectoryEntry ent = new DirectoryEntry(LDAP); DirectorySearcher srch = new DirectorySearcher("(CN=" + strGroup + ")"); SearchResultCollection coll = srch.FindAll(); foreach (SearchResult rs in coll) { ResultPropertyCollection resultPropColl = rs.Properties; foreach (Object memberColl in resultPropColl["member"]) { DirectoryEntry gpMemberEntry = new DirectoryEntry("LDAP://" + memberColl); System.DirectoryServices.PropertyCollection userProps = gpMemberEntry.Properties; object obVal = userProps["sAMAccountName"].Value; if (null != obVal) { groupMemebers.Add(obVal.ToString()); } } } } catch (Exception ex) { throw; } return groupMemebers; } } string LDAP = "LDAP://……"; linq 实现var list=new list<oMembers>();foreach (UserPrincipalExtentsion oUser in oUsersFromAD) //AD里所有的用户 { list.Add(oMembers.Where(o=>o. UserPrincipalName== oUser.UserPrincipalName )); } } 或者DirectoryEntry de = new DirectoryEntry("LDAP://" + "域名", "用户名", "密码", AuthenticationTypes.Secure); DirectorySearcher ds = new DirectorySearcher(); ds.SearchRoot = de; ds.Filter = ("(objectClass=user)"); group是组 foreach (SearchResult result in ds.FindAll()) { string name = result.GetDirectoryEntry().Name.ToString(); Page.Response.Write(name); } 求语法高亮显示控件 DevComponents.DotNetBar2.dll如何实现多标签文档的界面 线程控制启动窗体的小问题 dll庫參考問題 请问我是否可以用DataView的对象作为DropDownList的数据源? 请教高手:如何获取一个.aspx文件的HTML:浏览器编译前的HTML?浏览器编译后的HTML? 索引超出范围。必须为非负值并小于集合大小。 textbox连接数据库 大家帮我看看这段程序错在什么地方啊 如何让winform窗口显示最小化,最大化按钮,不显示关闭按钮? winfrom窗体打开关闭问题 c# 删除 节点里面的类容
public partial class adgroup : System.Web.UI.Page { string LDAP = "LDAP://"; string groupName = "USB 15DRW"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { StringCollection groupMembers = this.GetGroupMembers(groupName); foreach (var user in groupMembers) { Response.Write(user.ToString() + "<br/>"); } } } public StringCollection GetGroupMembers(string strGroup) { StringCollection groupMemebers = new StringCollection(); try { DirectoryEntry ent = new DirectoryEntry(LDAP); DirectorySearcher srch = new DirectorySearcher("(CN=" + strGroup + ")"); SearchResultCollection coll = srch.FindAll(); foreach (SearchResult rs in coll) { ResultPropertyCollection resultPropColl = rs.Properties; foreach (Object memberColl in resultPropColl["member"]) { DirectoryEntry gpMemberEntry = new DirectoryEntry("LDAP://" + memberColl); System.DirectoryServices.PropertyCollection userProps = gpMemberEntry.Properties; object obVal = userProps["sAMAccountName"].Value; if (null != obVal) { groupMemebers.Add(obVal.ToString()); } } } } catch (Exception ex) { throw; } return groupMemebers; } }
var list=new list<oMembers>();
foreach (UserPrincipalExtentsion oUser in oUsersFromAD) //AD里所有的用户
{
list.Add(oMembers.Where(o=>o. UserPrincipalName== oUser.UserPrincipalName ));
}
}
DirectoryEntry de = new DirectoryEntry("LDAP://" + "域名", "用户名", "密码", AuthenticationTypes.Secure);
DirectorySearcher ds = new DirectorySearcher();
ds.SearchRoot = de;
ds.Filter = ("(objectClass=user)"); group是组
foreach (SearchResult result in ds.FindAll())
{
string name = result.GetDirectoryEntry().Name.ToString();
Page.Response.Write(name);
}