7

ユーザー アカウントを検索するために Active Directory 構造に対して LDAP を使用してクエリを実行すると、特定のキー フィールド、特に memberOf と userAccountControl (アカウントが無効かどうかを示すビット フラグを持つ) が欠落しているレコード (すべてではない) があります。

ここにいくつかの洗練された詳細があります:

  • クエリがこれらのフィールドのいずれかでフィルタリングするように設定されている場合 (マーケティング部門グループで無効になっていないアカウントのリストを取得するなど)、それらは結果セットから消えます (AD に関する限り、欠落しているため)。 .

  • 高度な権限を持つドメイン管理者アカウントでクエリを実行すると、クエリは正常に機能します。

  • 問題のあるレコードは、ユーザー レコード全体の約 1/4 ~ 1/3 です。一部の古いレコードも同様に影響を受けているようですが、ほとんど新しいレコードのようです (ドメイン コントローラ サーバーの 2003 へのアップグレードに関連していると考えられていました)。

  • 2 つの類似したレコードをざっと見てみると、1 つはレコード全体がどのアカウントでも表示可能で、もう 1 つはそうでないため、明らかな違いは見られません。

したがって、特定のフィールドを制限する何らかの種類のアクセス許可拒否セット (おそらくスキーマ レベルで?) があると推測できます。ドメイン管理者が意図的にそのようなアクセス許可を設定したことは決してないことに注意してください。

更新/解決: ADSI Edit ( Windows 2003 サポート ツール内) は、認証されたユーザー ロールの既定のアクセス許可の変更を突き止めるのに役立ちました。一部の人にとっては、ロールには読み取りアカウント制限 (userAccountControl を含む) と読み取りグループ メンバーシップ (memberOf) が含まれていましたが、含まれていなかった人もいました。

ドメイン コントローラーを Windows 2003 に切り替えた後に、ほとんどの "不良" レコードが作成されたという事実が原因である可能性がありますが、違いの元の原因はまだ明確ではありません。

解決策: これはまだ少し未定ですが、既存のアカウントを更新するスクリプトと組み合わせて、更新されたグループ ポリシーになる可能性が最も高いです。

4

2 に答える 2

3

特定のユーザーの特定のフィールドに対する権限は、adsi edit で確認できます。何らかの方法で変更されている必要があり、デフォルトに戻す必要があります。一部のユーザーの ou レベルが変更された可能性があります。この場合、それらを一括修正できます。

于 2008-11-19T18:03:25.267 に答える
0

興味深いのは、提案した両方の属性が一種の読み取り専用であることです。メンバー (グループの属性) は Active Directory で管理されます。User の MemberOf 値はクエリに基づいて計算され、実際にはユーザー オブジェクトに静的に格納されません。

userAccountControl も LDAP 経由の読み取り専用属性であると確信しています。(直接操作するには、他のアプローチが必要です。)

それが役立つかどうかはわかりませんが、正しい方向へのヒントになるかもしれません。(そうでなければ完全に間違っている..)

于 2008-11-20T17:45:11.917 に答える