3

基本的に、DirectorySearcher を使用して結果をフィルタリングしてメンバーの範囲を絞り込もうとしていますが、このフィルターは結果を返しません。

"(&(objectClass=user)(memberof=CN=Users,OU=myou,OU=base,OU=home,DC=gorge,DC=net)(member;range=0-1499))"

DirectoryEntry dEntryhighlevel = 
          new DirectoryEntry("LDAP://OU=base,OU=home,DC=gorge,DC=net");
DirectorySearcher dSeacher = 
          new DirectorySearcher(dEntryhighlevel);
dSeacher.Filter = 
        "(&(objectClass=user)
         (memberof=CN=Users,OU=myou,OU=base,OU=home,DC=gorge,DC=net)
         ("+attributeWithRange+"))";
dSeacher.PropertiesToLoad.Add(attributeWithRange);
dSeacher.PropertiesToLoad.Add("givenname");
dSeacher.PropertiesToLoad.Add("sn");
dSeacher.PropertiesToLoad.Add("samAccountName");
dSeacher.PropertiesToLoad.Add("mail");
dSeacher.PageSize = 1500;
SearchResultCollection resultCollection = resultCollection = dSeacher.FindAll();

このコードは、範囲フィルターがなくても問題なく機能します。ここでの助けは素晴らしいでしょう。

4

1 に答える 1

0

あなたの問題は、範囲を と に挿入しようとしている可能性があるとFilter 思いますPropertiesToLoad。このページの最初のコード例を見ると、クラスPropertiesToLoadのインスタンスに対してのみ範囲が追加されていることがわかります。DirectorySearcher

于 2012-09-07T10:28:49.580 に答える