我正在尝试使用代码从Active Directory获取所有用户:
PrincipalContext ad = new PrincipalContext(contextType, adserviceName, adContext, ContextOptions.SimpleBind, username, password);
UserPrincipal u = new UserPrincipal(ad) {Name = "*"};
PrincipalSearcher search = new PrincipalSearcher { QueryFilter = u };
foreach (var principal in search.FindAll())
{
//do something
}
但它只返回前1000行。如何检索所有用户并且不使用DirectorySearcher。 谢谢。
答案 0 :(得分:0)
我认为如果不使用 DirectorySearcher ,您就可以做到这一点。
代码段 -
// set the PageSize on the underlying DirectorySearcher to get all entries
((DirectorySearcher)search.GetUnderlyingSearcher()).PageSize = 1000;
另见If an OU contains 3000 users, how to use DirectorySearcher to find all of them?
答案 1 :(得分:0)
您需要获取基础public static boolean isCyanogenMod() {
try {
return Class.forName("cyanogenmod.os.Build") != null;
} catch (Exception ignored) {
}
return false;
}
并在其上设置DirectorySearcher
属性:
PageSize
答案 2 :(得分:0)
您可以:
((DirectorySearcher)myPrincipalSearcher.GetUnderlyingSearcher()).SizeLimit = 20;