0

次のクエリを使用して、各ユーザーがメンバーであるグループを見つけます。

(&(objectClass=group)(|(member=cn=UID,OU=ServiceAccounts,OU=MC,DC=ads,DC=myCompany,DC=com,DC=au)(member=cn=UID,OU=BTLY,OU=Sites,OU=MC,DC=ads,DC=myCompany,DC=com,DC=au)))

このクエリは、次のベース DN を使用して機能し、実行されます。

OU=MC,DC=ads,DC=myCompany,DC=com,DC=au

クエリにはいくつか問題があります。

  • OR 演算子を使用してサービス アカウント ユーザーと BTLY ユーザーを検索する必要はありません。
  • BTLY サイトをハードコーディングしたくありません。他にもあります。

理想的には、クエリを次のようにしたいだけです。

(&(objectClass=group)(|(member=cn=UID,OU=MC,DC=ads,DC=myCompany,DC=com,DC=au))

このように、ユーザー アカウントがサービス アカウントであるかどうかや、アカウントがどのサイトに属しているかは気にしません。残念ながら、そのクエリは機能しません。

誰かが LDAP クエリを一般化するのを手伝ってくれませんか? 私は少し初心者なので、完全に明白な何かを見落としている可能性が高いです!

ありがとう!


返信いただきありがとうございます。あなたの言ったことは理にかなっていますが、残念ながら私には役に立ちません。GlassFish (Java アプリケーション サーバー) を使用しており、ローカル AD サーバーを指すように構成されています。通常、GlassFish にユーザーを取得する方法を伝えることができます。

(&(objectCategory=user)(CN=UID))

GlassFish はすべてのグループを取得します (おそらくmemberOf属性を使用して)。

今回は、別のユーザー ディレクトリをホストする別の AD サーバーを使用しています。GlassFish はそれ自体でグループを取得できません。そのため、GlassFish にカスタム クエリを指定してグループを検索できるフィールドがあります。このフィールドには、投稿したクエリを入力しましたが、これは機能しますが、見苦しく冗長です。

私ができるようになりたいのは:

(&(objectClass=group)(member=cn=UID))

しかし、これは機能しません。

とにかくこれを行うことはありますか?

ありがとう、ミュール。

4

2 に答える 2

0

私の推測では、この手法を使用することは不可能です。ここではワイルドカードを使用する必要があります。

(&(objectCategory=group)(member=CN=UID,*))

これは DN 属性 ('member' プロパティに格納されている属性など) では受け入れられません。

http://msdn.microsoft.com/en-us/library/ms676930(v=vs.85).aspx

ここでの私の提案は次のとおりです。ツールを使用して「醜い」クエリを生成し(上記の構文を使用)、ツールに最終結果を「フィード」します。オプションが表示されません。申し訳ありません...

于 2012-06-13T09:41:00.170 に答える
0

私はあなたの質問を再定式化しようとしていますが、コメントするにはテキストが多すぎます。

ユーザーが属するすべてのグループCN=UIDを nod から検索しようとしていますOU=MC,DC=ads,DC=myCompany,DC=com,DC=au

これmemberOfは、ユーザー自体の属性を取得することで実行できます。唯一の問題 (おそらくあなたの場合ではない) は、プライマリ グループがこの DN のリストになく、属性を使用してコード化されていることprimaryGroupIdです。

それで

(&(objectCategory=user)(CN=UID))

ジョブテストを行います:

ldifde -f t.ldf -D "OU=MC,DC=ads,DC=myCompany,DC=com,DC=au" -r "(&(objectCategory=user)(CN=UID))" -l memberof

備考 :samAccountNameまたはuserPrincipalNameActive-Directory 内のエントリの一意性を信頼できる属性です。これは CN の場合ではありません (管理者が変更できます)。

于 2012-06-13T03:56:38.397 に答える