目录搜索器过滤器未返回任何结果
Directory Searcher Filter is returning no results
绝对没有足够的经验知道为什么这没有返回任何结果。我无法使用 PricipalContext 库,必须就地使用 Directory Searcher 选项。存在这样的组“MB-X-Approvers”、“MB-Y-Approvers”、“MB-Z-Approvers”等
public IEnumerable<Mailbox> GetAprMailboxes()
{
IEnumerable<Mailbox> mailBoxes = new List<Mailbox>();
try
{
DirectorySearcher directorySearch = GetDirectorySearcher();
var who = @"CN=lastName\, Firstname,OU=USERS,OU=HOUSTON,DC=mydomain,DC=net"
var strFilter = "(&(objectCategory=group)(member=" + who + ")(cn=MB-*-Approvers))";
directorySearch.Filter = strFilter;
var searchResults = directorySearch.FindAll();
//Do stuff with results and add to mailbox list
return mailBoxes;
}
catch (Exception ex)
{
LogHelper.LogException(ex);
}
}
public DirectorySearcher GetDirectorySearcher()
{
DirectorySearcher directorySearch = null;
try
{
var baseEntry = new DirectoryEntry
{
Path = "LDAP://ldapquery.mydomain.net/DC=mydomain,DC=net",
Username = "ADUserName",
Password = "ADPassword",
AuthenticationType = AuthenticationTypes.Secure
};
directorySearch = new DirectorySearcher(baseEntry);
directorySearch.SearchScope = SearchScope.Subtree;
directorySearch.SizeLimit = 5000;
directorySearch.PageSize = 1000;
}
catch (Exception ex)
{
}
return directorySearch;
}
通常,像“cn=MB-*-Approvers”这样的 DN 对子字符串搜索不起作用。
因此,当使用 DN 语法时,客户端必须使用完全限定的 DN
可能想尝试类似的东西:
(&
(member=*)
(|(MB-X-Approvers,cn=groups,DC=mydomain,DC=net, ,cn=groups,DC=mydomain,DC=net, ,cn=groups,DC=mydomain,DC=net))
)
-吉姆
绝对没有足够的经验知道为什么这没有返回任何结果。我无法使用 PricipalContext 库,必须就地使用 Directory Searcher 选项。存在这样的组“MB-X-Approvers”、“MB-Y-Approvers”、“MB-Z-Approvers”等
public IEnumerable<Mailbox> GetAprMailboxes()
{
IEnumerable<Mailbox> mailBoxes = new List<Mailbox>();
try
{
DirectorySearcher directorySearch = GetDirectorySearcher();
var who = @"CN=lastName\, Firstname,OU=USERS,OU=HOUSTON,DC=mydomain,DC=net"
var strFilter = "(&(objectCategory=group)(member=" + who + ")(cn=MB-*-Approvers))";
directorySearch.Filter = strFilter;
var searchResults = directorySearch.FindAll();
//Do stuff with results and add to mailbox list
return mailBoxes;
}
catch (Exception ex)
{
LogHelper.LogException(ex);
}
}
public DirectorySearcher GetDirectorySearcher()
{
DirectorySearcher directorySearch = null;
try
{
var baseEntry = new DirectoryEntry
{
Path = "LDAP://ldapquery.mydomain.net/DC=mydomain,DC=net",
Username = "ADUserName",
Password = "ADPassword",
AuthenticationType = AuthenticationTypes.Secure
};
directorySearch = new DirectorySearcher(baseEntry);
directorySearch.SearchScope = SearchScope.Subtree;
directorySearch.SizeLimit = 5000;
directorySearch.PageSize = 1000;
}
catch (Exception ex)
{
}
return directorySearch;
}
通常,像“cn=MB-*-Approvers”这样的 DN 对子字符串搜索不起作用。
因此,当使用 DN 语法时,客户端必须使用完全限定的 DN
可能想尝试类似的东西:
(&
(member=*)
(|(MB-X-Approvers,cn=groups,DC=mydomain,DC=net, ,cn=groups,DC=mydomain,DC=net, ,cn=groups,DC=mydomain,DC=net))
)
-吉姆