-------------------------------------------------------------------------
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Server;
using Microsoft.TeamFoundation.VersionControl.Client;
public void PrintTFSGroupMembersInfo()
{
TfsTeamProjectCollection proj_coll = new TfsTeamProjectCollection(new Uri("http://NvnTFSServer:8080/tfs/defaultcollection/"), new System.Net.NetworkCredential(username, pass));
proj_coll.Authenticate();
VersionControlServer vcs = (VersionControlServer)proj_coll.GetService(typeof(VersionControlServer));
TeamProject[] TPs = vcs.GetAllTeamProjects(false);
IGroupSecurityService sec_groups = (IGroupSecurityService)proj_coll.GetService(typeof(IGroupSecurityService));
foreach (TeamProject TP in TPs)
{
Console.WriteLine("Team Project : " + TP.Name);
Console.WriteLine("Group Members : ");
Identity[] app_groups = sec_groups.ListApplicationGroups(TP.ArtifactUri.ToString());
foreach (Identity app_grp in app_groups)
{
Identity grp = sec_groups.ReadIdentity(SearchFactor.Sid, app_grp.Sid, QueryMembership.Direct);
foreach (string members in grp.Members)
{
Identity member = sec_groups.ReadIdentity(SearchFactor.Sid, members, QueryMembership.Direct);
Console.WriteLine(" " + member.DisplayName);
foreach (string mm in member.Members)
{
Identity m = sec_groups.ReadIdentity(SearchFactor.Sid, mm, QueryMembership.Direct);
Console.WriteLine(" " + m.DisplayName);
}
}
}
}
}
No comments:
Post a Comment