簡體   English   中英

LDAP DirectorySearcher memberOf 屬性僅返回 1 組

[英]LDAP DirectorySearcher memberOf property only returns 1 group

我正在嘗試通過我的 AD 中的所有活動用戶 go 並提取各種屬性。 我有這個工作接受,即 memberOf 屬性僅返回用戶所屬的組中的 1 個,而不是用戶所屬的所有各種組。 有誰知道我缺少什么讓我的搜索返回所有組?

List<ADUser> lstADUsers = new List<ADUser>();
            string[] propertiesToLoad = new string[7] { "name","displayName", "telephoneNumber","description","title","department","manager","memberOf"};
            string filter = "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=32)(!userAccountControl:1.2.840.113556.1.4.803:=2)(userAccountControl:1.2.840.113556.1.4.803:=512)(samAccountType=805306368)(mail=*))";

            using (var context = new DirectoryEntry("LDAP:MYLDAP"))
            {
                using (DirectorySearcher searcher = new DirectorySearcher(context,filter,propertiesToLoad))
                {
                    searcher.PageSize = 15000;
                    searcher.SizeLimit = 15000;
                    foreach (SearchResult sResultSet in searcher.FindAll())
                    {
                        //main properties to get from ad
                        var UserModel = new ADUser();
                        UserModel.FullName = GetProperty(sResultSet, "name");
                        UserModel.DisplayName = GetProperty(sResultSet, "displayName");
                        UserModel.TelePhoneNumber = GetProperty(sResultSet, "telephoneNumber");
                        UserModel.Description = GetProperty(sResultSet, "description");
                        UserModel.JobTitle = GetProperty(sResultSet, "title");
                        UserModel.Department = GetProperty(sResultSet, "department");
                        UserModel.MemberOf = GetProperty(sResultSet, "memberOf");
                        
                        lstADUsers.Add(UserModel);
                    }
                }
               
            }

在 foreach 語句中添加了這個。

//enumerate through the memberOf property to get all the groups for the user
string memberships = string.Empty;
foreach(object memberOf in sResultSet.Properties["memberOf"])
{
    memberships += memberOf.ToString() + "\n";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM