1 votes

Un contrôleur de domaine dans le domaine où un groupe est défini contiendra-t-il toutes les informations sur les membres ?

Disons que j'ai une configuration de forêt avec de nombreux domaines. Si je choisis un groupe de sécurité arbitraire dans l'un des domaines, quelle est la meilleure façon de trouver TOUS les utilisateurs membres de ce groupe, y compris les utilisateurs membres des groupes imbriqués ? Je veux être en mesure de le faire quel que soit le type de groupe (c'est-à-dire universel, global ou local au domaine). Si j'ai bien compris, nous ne pouvons pas utiliser le catalogue global seul, car les membres des groupes n'y sont pas répliqués pour tous les types de groupes.

Nous finirons par faire cela avec du code, mais pour l'instant je veux juste comprendre le processus. Pour simplifier, disons que je connais déjà le nom du groupe. objetGUID valeur. Les étapes de haut niveau seraient-elles :

  1. Interrogez n'importe quel catalogue global de la forêt pour le groupe (via la commande objetGUID ) et récupère le domaine dans lequel le groupe est défini via sa fonction catégorie d'objet attribut nom distingué

  2. Interroger le contrôleur de domaine dans lequel le groupe est défini (récupéré à l'étape 1) en utilisant l'identifiant du groupe objetGUID y memberOf:1.2.840.113556.1.4.1941 comme le filtre

Y a-t-il autre chose ? Existe-t-il des cas limites où je devrais interroger d'autres contrôleurs de domaine (par exemple, d'autres sous-domaines) ? Existe-t-il d'autres cas où je n'aurais pas à aller plus loin que le catalogue global parce que le type de groupe (ou un autre attribut) garantit que toutes les informations sur ses membres sont répliquées dans le catalogue global ?

EDIT

  • Changer objectCategory en nom distingué

2voto

Roy Tinker Points 8054

Recherche par memberOf ne vous donnera pas tous les résultats, puisque vous ne trouverez que les utilisateurs dans le champ de votre recherche (par exemple, si vous recherchez un domaine, vous ne trouverez que les utilisateurs de ce domaine, même si le groupe a des membres d'autres domaines).

La liste des membres d'un groupe qui fait autorité se trouve dans la base de données des groupes. member de l'attribut du groupe lui-même. Le site member contient l'attribut distinguishedName de tous les membres du groupe. Le site member est répliqué dans le catalogue global (uniquement pour les groupes universels), mais AD ne vous donne que 1500 membres à la fois. Pour tout groupe ayant plus que cela, vous devez demander plus.

Si vous envisagez de commencer par le objectGuid vous pouvez alors vous lier directement à l'objet en l'utilisant. Vous n'avez pas besoin de chercher du tout. Vous utilisez cette notation pour vous lier à un objet avec le GUID :

LDAP://<GUID={guid}>

{guid} est le GUID de la chaîne. Ensuite, vous lisez le member attribut.

Si un groupe a des membres sur d'autres domaines, cela peut compliquer un peu les choses si le domaine n'est pas dans la même forêt. Dans ces cas, le member du groupe contiendra un objet sur le même domaine que le groupe appelé "Foreign Security Principal" qui contient le SID du compte réel sur le domaine externe. Si vous voulez obtenir des informations sur ce compte (comme le nom ou l'adresse électronique), vous devez utiliser ces informations pour vous connecter au domaine externe et les récupérer.

AD a également une idée des "groupes primaires", qui sont différents, mais vous n'avez peut-être pas à vous en préoccuper. J'ai écrit un article à ce sujet intitulé Qu'est-ce qui fait qu'un membre est un membre ? .

J'ai également écrit un article avec du code d'exemple en C# à propos de trouver tous les membres d'un groupe y compris le respect des principes de sécurité à l'étranger. Même si vous n'avez pas l'intention d'utiliser C#, tout se passe en LDAP en arrière-plan, de sorte que les mêmes résultats peuvent être reproduits dans un autre langage.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X