LDAP怎样获取AD域中指定组的所有用户
答案:2 悬赏:80 手机版
解决时间 2021-02-15 21:32
- 提问者网友:寂寞梧桐
- 2021-02-15 04:15
LDAP怎样获取AD域中指定组的所有用户
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-02-15 04:21
public DataSet GetUsersForGroup(string GroupName) { //if (GroupName.IndexOf(';') > 0) //{ // return GetUsersForGroup(GroupName.Split(new char[] { ';' })); //} if (GroupName == string.Empty) return null; try { DirectoryEntry dir = GetDirectoryObject(); dir.RefreshCache(); DirectorySearcher ds = new DirectorySearcher(dir); ds.Filter = "(&(objectClass=group)(cn=" + GroupName + "))"; ds.PropertiesToLoad.Add("memberof"); SearchResult results = ds.FindOne(); DataSet dsUser = new DataSet(); DataTable tbUser = dsUser.Tables.Add("Users"); tbUser.Columns.Add("GroupName"); tbUser.Columns.Add("samaccountname"); tbUser.Columns.Add("UserName"); tbUser.Columns.Add("DisplayName"); tbUser.Columns.Add("EMailAddress"); tbUser.Columns.Add("primaryGroupID"); if (results != null) { DirectoryEntry deGroup = new DirectoryEntry(results.Path, _ADUser, _ADPwd, AuthenticationTypes.Secure); System.DirectoryServices.PropertyCollection pcoll = deGroup.Properties; int n = pcoll["member"].Count; for (int i = 0; i < n; i++) { DirectoryEntry deUser = new DirectoryEntry(_ADPath + "/" + pcoll["member"][i].ToString(), _ADUser, _ADPwd, AuthenticationTypes.Secure); try { DataRow rwUser = tbUser.NewRow(); rwUser["GroupName"] = GroupName; rwUser["samaccountname"] = GetProperty(deUser, "samaccountname"); rwUser["UserName"] = GetProperty(deUser, "cn"); rwUser["DisplayName"] = GetProperty(deUser, "givenName") + " " + GetProperty(deUser, "sn"); rwUser["EMailAddress"] = GetProperty(deUser, "mail"); rwUser["primaryGroupID"] = GetProperty(deUser, "primaryGroupID"); tbUser.Rows.Add(rwUser); deUser.Close();
全部回答
- 1楼网友:笑迎怀羞
- 2021-02-15 05:57
系统要求
要按本文介绍的步骤进行配置,您需要一个 ibm ldap 客户端、aix 和配置了 ldap 协议的 microsoft® windows active directory 2000/2003 服务器。
netgroups
netgroups 可以使用经过组织的名称来方便地标识主机组、人或域,以进行访问控制(请参见 netgroups 侧栏)。您可以使用 netgroups 来限制对远程登录和 shell 的访问。网络组存储于 windows 2000/2003 microsoft active directory 服务器中。您可以将 windows active directory 服务器配置为 ibm ldap 客户端的 ldap 服务器。这些组中的用户可以访问 ibm ldap 客户端系统。
例如,假定您有一台拥有大量用户的 ldap 服务器,其中配置了几个 ldap 客户端,并且您希望允许一定数量用户对这些 ldap 客户端进行访问。您必须确保在 netgroups 中定义这些用户。
ibm ldap 使用 aix 5.3 tl 05 或更高的版本提供对 windows 2000/2003 microsoft active directory 服务器的支持。请阅读 ibm 红皮书汇总中的 integrating aix 5l into heterogeneous ldap environments(请参见参考资料),以获得使用 microsoft active directory 服务器配置 ibm ldap 客户端的所有配置细节。
配置
执行下面的步骤,以便使用 microsoft active directory 服务器在 ibm ldap 客户端上配置 netgroups:
aix 的 /etc/netgroup 文件中定义了需要对 ibm ldap 客户端计算机进行访问的组和用户。/etc/netgroup 文件定义了网络范围内的组。这个文件里的每一行定义了一个组,并按如下所示的格式进行格式化:
group name (hostname, username, domain name)
请看以下示例: testgroup (znim.austin.ibm.com, user1, test)
testgroup1 (, user2,)
请不要在上面的条目中使用短横线(-)。
将 /etc/netgroup 映射文件复制到 windows 2000/2003 active directory 服务器。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯