LDAPストアをクエリするときに返す属性を指定できません
-
29-09-2019 - |
質問
DirectoryServices.protocols.searchRequestタイプを使用して、いくつかのエントリを取得するためにOpend Storeに対してリクエストを行います。応答のエントリに対して返される属性を制御できるようにしたいと思います。「属性」プロパティがそれを行うと考えています。しかし、そのプロパティにはセッターがないので、私はこのようなことをすることができません: -
SearchRequest searchRequest = new SearchRequest
{
DistinguishedName = hubTable,
Filter = ldapFilter,
Scope = SearchScope.Subtree,
Attributes = new StringCollection{"Id", "File"}
};
//run the query and get the results
SearchResponse results = connection.SendRequest(searchRequest) as SearchResponse;
誰でも、すべてではなく、指定された属性を持つエントリのみを返すようにリクエストをフィルタリングするために私がすべきことに私を導くことができますか。
解決
皮肉なことにこれはうまくいきました: -
SearchRequest searchRequest = new SearchRequest(hubTable, ldapFilter, SearchScope.Subtree, new[] { "AppId", "File" });
他のヒント
SearchResuestを使用している理由はありますか?いずれにせよ、DirectorySearcherクラスを使用できます http://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.aspx エントリを検索します。 1つの結果を調べる例を次に示します http://msdn.microsoft.com/en-us/library/system.directoryservices.searchresult.aspx. 。 FindAllメソッドを使用して、すべての結果を取得します。
別のフィルターが必要だと思います。
私はあなたのと確信しています ldapfilter
いくつかの基準があります。あなたがする必要があり、それを(&&)含める必要があります (&(Id=*)(File=*))
あなたが探している結果を得るために。
所属していません StackOverflow