1

私の目標は、TFS でユーザー全体の電子メール アドレス全体を取得することです。最終的にユーザーの SID リストを取得することに成功しましたが、SID を取得するグループにグループがあり、それにアクセスする方法がわからないため、問題ないと思います。これが私のコードの重要な部分です。ここでその方法を知りたいです。

  TeamFoundationIdentity[] projectGroups = _ims.ListApplicationGroups(projectUri, ReadIdentityOptions.None);

            Dictionary<IdentityDescriptor, object> descSet = new Dictionary<IdentityDescriptor, object>(IdentityDescriptorComparer.Instance);

            foreach (TeamFoundationIdentity projectGroup in projectGroups)
            {
                descSet[projectGroup.Descriptor] = projectGroup.Descriptor;
            }

            // Expanded membership of project groups
            projectGroups = _ims.ReadIdentities(descSet.Keys.ToArray(), MembershipQuery.Expanded, ReadIdentityOptions.None);

            // Collect all descriptors
            foreach (TeamFoundationIdentity projectGroup in projectGroups)
            {
                foreach (IdentityDescriptor mem in projectGroup.Members)
                {
                    TeamFoundationIdentity[] _identities = _ims.ReadIdentities(new IdentityDescriptor[] {mem}, MembershipQuery.Expanded, ReadIdentityOptions.None);
                   foreach(TeamFoundationIdentity id in _identities)
                   {
                      //the sid
                      Console.WriteLine(id.Descriptor.Identifier);
                   }
                }
            }

        }
4

1 に答える 1