2017-11-15 17 views
1

アクティブディレクトリに新しく追加され、LDAPクエリを作成します。Active Directoryのメンバー数によるLDAPクエリフィルタ

私は1人のメンバーだけで配布グループを取得しようとします。メンバーのいないグループを見つけるために使ったクエリを編集しようとしていたが、運がなかった。私は解決策を探していましたが、何の情報も見つけられませんでした。これが可能であれば、私はちょうど興味がありました。

(&(&(&(objectCategory=group)(member=1)(objectClass=group)(proxyAddresses=*@domain.com)))) 

答えて

2

いいえ、単一のLDAPクエリではできません。

無効なdn( '1')との一致を試みるため、(member=1)フィルタが機能しません。フィルタ全体が間違っているように、条件を入れ子にする必要はなく、それぞれに対して演算子を追加することもできます(&)。ただし、会員がいないグループを除外するには、(!(member=*))を追加することができます。だからあなたのような状況では、正しいフィルタは、次のようになります。唯一つのメンバーを有するフィルタグループに

(&(objectCategory=group)(objectClass=group)(proxyAddresses=*@domain.com)(!(member=*))) 

を、あなたは上記のフィルターを使用してグループを検索するための最初のステップでなければならず、その後、各グループを反復処理しますメンバー属性を読み取り、カウントを手動で取得し、複数のメンバーを含むグループを除外します。

グループオブジェクトにカスタム属性を追加して、メンバー数を保存し、最後に目的のフィルタ(memberCount = 1など)を1回のクエリで適用できるようにすることもできます。しかし、これはもちろん、属性を維持することも必要です。