2016-11-17 32 views
-2

Je travaille avec les interfaces de service Active Directory et essaie de récupérer tous les utilisateurs d'un groupe. J'ai cette ligne de code qui me amène le groupe lui-même:Delphi travaillant avec ADSI- comment récupérer tous les membres du groupe

var 
    Group:IADSGroup; 
begin 
    ADsGetObject('LDAP://CN=myGroup,CN=Users,DC=dltomb,DC=dltomb25,DC=com', IADSGroup, Group); 
...... 

l'interface IADsGroup a une fonction « IsMember » qui obtient un WideString représentant un utilisateur, et doit retourner true si l'utilisateur est un membre de cette groupe. le problème est que je reçois toujours une réponse négative de celui-ci ... (l'utilisateur que je vérifie est le seul utilisateur de ce groupe et aussi vérifié Group.Count pour voir qu'il ya un membre dans ce groupe). si serait vraiment une aide à ce sujet, même si quelqu'un peut pointer sur d'autres solution de contournement, comme l'énumération des membres du groupe (je ne pouvais pas le faire aussi)

+0

Énumérer les membres utilisant 'Members' –

Répondre

-1

ok j'ai trouvé comment itérer le groupe

var 
    groupName: string; 
    Fetched: Cardinal; 
    ResultItem: OleVariant; 
    members: IADsMembers; 
.............. 
groupName:= Group.get_Name; 
members:= Group.Members; 
enum:= members._NewEnum as IEnumVariant; 
Enum.Reset; 

Enum.Next(1, ResultItem, Fetched); 

while Fetched = 1 do 
begin 
    GroupMember := IDispatch(ResultItem) as IADS; 
    //do something 
    Enum.Next(1, ResultItem, Fetched); 
end; 

Mais j'ai un autre problème maintenant, je ne peux pas voir tous les membres du groupe lors de l'ajout d'autres membres. Je pense que c'est parce que, pour une raison quelconque, il ne trouve que des utilisateurs appartenant à ce groupe et aussi que ce groupe n'est pas leur groupe principal. Comment puis-je obtenir aussi un utilisateur avec le groupe que je cherche en tant que groupe principal?

+0

Veuillez ne pas soulever une nouvelle question dans une" réponse "- SO ne supporte pas cela. Ouvrez un nouveau q à la place. – MartynA

+0

ok je le ferai, merci – itay312

+0

Ce code n'énumère pas du tout. –