2016-11-17 15 views
-2

Active Directoryサービスインターフェイスで作業していて、グループ内のすべてのユーザーを から取得しようとしています。 私は私にグループ自体をもたらすのコード行を持っている:ADSIとデルファイする - すべてのグループメンバーを取得する方法

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

IADsGroupインターフェイスインターフェイスは、ユーザーを表すWideStringのを取得し、「内容isMember」機能を備えており、ユーザーはこれのメンバーである場合はtrueを返す必要がありますグループ。 問題は、私は常にこの1つから否定的な答えを得ることです... (このグループの唯一のユーザーであり、Group.Countをチェックしてこのグループに1人のメンバーがいることを確認します)。 本当に誰かが(私もこれを行うことができませんでした)、このようなグループメンバーを列挙すると、他の問題を回避する上でポイントすることができたとしても、この問題に関するいくつかの助けをご希望の場合、私はグループを反復処理する方法を発見

+0

「メンバー」を使用してメンバーを列挙します –

答えて

-1

OK

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; 

しかし、私は別の問題を抱えています。他のメンバーを追加するときにグループのすべてのメンバーを見ることができません。なぜなら何らかの理由でユーザーだけがこのグループに所属していることと、このグループがプライマリグループではないことがわかっているからです。どのように私は彼らのプライマリグループとして検索しているグループのユーザーも得ることができますか?

+0

「回答」に新しい質問を提出しないでください - これはサポートしていません。代わりに新しいqを開きます。 – MartynA

+0

私は、ありがとう – itay312

+0

このコードはまったく列挙しません。 –

関連する問題