クエリフィルタの作成
クエリーフィルターは、Active DirectoryドメインサービスにLDAPクエリー構文でデータを検索するように指示する。 に列挙されているすべての指定されたデータアクセス技術。 検索技術の選択 トピックはLDAPクエリ構文をサポートしています。
LDAPクエリの構文は以下の通り:
<expression><expression>...
フィルターには、1つまたは複数の式を含めることができる。 式は次のような形をしている:
(<logicaloperator><comparison><comparison...>)
どこ "<論理演算子>" は以下のいずれかである。
Operator | 説明 |
---|---|
"|" |
論理的 または |
"&" |
論理的 アンド |
"!" |
論理的 違う |
そして "<比較>"は以下の通りである:
(<attribute><operator><value>)
どこ "<属性>" は lDAPDisplayName 評価する属性の "<価値>" iは比較する値で "<オペレーター>"
Operator | 説明 |
---|---|
"=" |
[等しい] |
"~=" |
ほぼ等しい |
"<=" |
指定の値以下 |
">=" |
指定の値以上 |
さらに、属性の構文によっては "<価値>" はワイルドカード記号("*")を含むことができる。 A "<価値>" の中にどんな値でも存在するかどうかをチェックします。 "<属性>". に値が設定されていない場合 "<属性>", テストは失敗する。
以下の特殊文字のいずれかがリテラルとしてクエリ・フィルタに現れなければならない場合は、列挙したエスケープ・シーケンスで置き換えなければならない。
ASCII 文字 | エスケープシーケンスの代用 |
---|---|
* |
"\2a" |
( |
"\28" |
) |
"\29" |
\ |
"\5c" |
NUL |
"\00" |
さらに、バイナリデータの各バイトをバックスラッシュの後に2桁の16進数でエンコードすることで、任意のバイナリデータをエスケープシーケンス構文を使って表現することができる。 たとえば、4 バイト値 0x00000004 は、フィルター文字列では「\00\00\00\04」としてエンコードされます。
例
次のクエリー文字列は、"computer "タイプのすべてのオブジェクトを検索します。
(objectCategory=computer)
次のクエリー文字列は、"computer "タイプで、"desktop "で始まる名前のオブジェクトをすべて検索する。
(&(objectCategory=computer)(name=desktop*))
次のクエリー文字列は、"computer "タイプで、"desktop "で始まる名前、または "notebook "で始まる名前を持つオブジェクトをすべて検索する。
(&(objectCategory=computer)(|(name=desktop*)(name=notebook*)))
次のクエリー文字列は、自宅の電話番号を持つ「user」タイプのオブジェクトをすべて検索します。
(&(objectCategory=user)(homePhone=*))
クエリーフィルター文字列の詳細と使用例については、以下を参照のこと: