次のような .NET/C# を使用して実装された LDAP 検索を使用して、「epersonstatus=REMOVE」であるすべての従業員の「employeenumber」を取得する必要があります。
var connection = new LdapConnection("foo.bar.com:389");
connection.AuthType = AuthType.Anonymous;
connection.SessionOptions.ProtocolVersion = 3;
connection.Bind();
var request = new SearchRequest(
"dc=root,dc=com",
"(epersonstatus=REMOVE)",
SearchScope.Subtree,
new string[] { "employeenumber" });
何千ものエントリがあるため、ここで提案されているようにページ化されたリクエストを使用しています: http://dunnry.com/blog/PagingInSystemDirectoryServicesProtocols.aspx
ここで提案されているように、サーバーがページングされた要求をサポートしていることも確認しました: iPlanet LDAP および C# PageResultRequestControl
フローが到達したら:
SearchResponse response = connection.SendRequest(request) as SearchResponse;
「要求された属性が存在しません」というメッセージとともに DirectoryOperationException が発生します。
softerra のような LDAP クライアントで同じクエリを実行すると、エントリ (1000) とエラーが表示されます。
いくつかの助けをいただければ幸いです。