2011-05-23 1 views
2

Je n'ai aucune expérience avec Active Directory. J'utilise Delphi pour développer une application qui interagit avec Active Directory. J'ai besoin de connaître la meilleure façon de tester si un utilisateur Active Directory appartient à un groupe spécifié. Comment je fais ça? J'utilise Delphi 2006 BDS.Demander si un utilisateur est membre d'un groupe

Répondre

1

Vous devez prendre en compte les groupes imbriqués, le plus simple est d'utiliser l'attribut tokenGroups qui contient un tableau (calculé) de SID (y compris les groupes imbriqués). De là, vous pouvez soit convertir cette liste de Sids en noms (en l'alimentant à DsCrackNames) ou obtenir le SID du groupe que vous souhaitez vérifier et comparer Sids (EqualSid)

2

En risquant un vote en baisse pour l'auto-promotion, je voudrais vous partager netAPI.pas.

ayant pas une grande expérience avec le répertoire actif et ne pas être en possession d'une version Delphi ci-dessus 7, je suppose que vous pourriez obtenir tous les utilisateurs d'un groupe particulier avec le code suivant:

GetNetGroupUsers([ServerName], [GroupName], [StringList not nil], False, True); 

Explorez cette StringList pour votre nom d'utilisateur.

+0

Il fonctionne parfaitement! THX – NetVicious

Questions connexes