ユーザー アカウントを検索するために Active Directory 構造に対して LDAP を使用してクエリを実行すると、特定のキー フィールド、特に memberOf と userAccountControl (アカウントが無効かどうかを示すビット フラグを持つ) が欠落しているレコード (すべてではない) があります。
ここにいくつかの洗練された詳細があります:
クエリがこれらのフィールドのいずれかでフィルタリングするように設定されている場合 (マーケティング部門グループで無効になっていないアカウントのリストを取得するなど)、それらは結果セットから消えます (AD に関する限り、欠落しているため)。 .
高度な権限を持つドメイン管理者アカウントでクエリを実行すると、クエリは正常に機能します。
問題のあるレコードは、ユーザー レコード全体の約 1/4 ~ 1/3 です。一部の古いレコードも同様に影響を受けているようですが、ほとんどは新しいレコードのようです (ドメイン コントローラ サーバーの 2003 へのアップグレードに関連していると考えられていました)。
2 つの類似したレコードをざっと見てみると、1 つはレコード全体がどのアカウントでも表示可能で、もう 1 つはそうでないため、明らかな違いは見られません。
したがって、特定のフィールドを制限する何らかの種類のアクセス許可拒否セット (おそらくスキーマ レベルで?) があると推測できます。ドメイン管理者が意図的にそのようなアクセス許可を設定したことは決してないことに注意してください。
更新/解決: ADSI Edit ( Windows 2003 サポート ツール内) は、認証されたユーザー ロールの既定のアクセス許可の変更を突き止めるのに役立ちました。一部の人にとっては、ロールには読み取りアカウント制限 (userAccountControl を含む) と読み取りグループ メンバーシップ (memberOf) が含まれていましたが、含まれていなかった人もいました。
ドメイン コントローラーを Windows 2003 に切り替えた後に、ほとんどの "不良" レコードが作成されたという事実が原因である可能性がありますが、違いの元の原因はまだ明確ではありません。
解決策: これはまだ少し未定ですが、既存のアカウントを更新するスクリプトと組み合わせて、更新されたグループ ポリシーになる可能性が最も高いです。