TFS 2013 получить все группы TFS, включая группу Windows
Я работаю над этим TFS 2013, чтобы получить разрешение на уровне проекта для всей группы TFS. Но я не могу получить группу окон. Я использую следующий код для перечисления групп:
var applicationGroups = identityManagementService.ListApplicationGroups(project.Uri.AbsoluteUri, ReadIdentityOptions.None);
Но этот код будет перечислять только те группы TFS, которые находятся под командами ([project]\Project Team
) и группы VSO ([project]\Build Administrators, [project]\Contributors, [project]\Readers, [project]\Project Administrators, [project]\Project Valid Users, [project]\TFS_Build_Administrators, [project]\TFS_Build_Readers
) но не группы Windows (TFS_Builder, TFS_DEV_AM...
)
Кто-нибудь знает, как я могу это сделать или почему я не смог получить их в группах Windows?
Привет Большое спасибо за ответ. Но я на самом деле хотел запросить все эти группы окон, и оттуда я постараюсь определить, кто является членами каждой группы. Ваш ответ также правильный, но он применим только для отдельного пользователя, и попробуйте получить для нас член memberOf, чтобы мы знали, какая группа окон является пользователем memberOf. Я просто отметил это как да, потому что я нашел способ, как я мог бы перечислить это через этот код. Но я не уверен, что я мог бы опубликовать еще один вопрос для этого снова. Тем не мение. Ниже приведен новый код для TFS 2013, так как IGroupSecurityService устарел.
var collection = new TfsTeamProjectCollection(new Uri("http://mytfs:8080/tfs/MyCollection"));
var identityService = collection.GetService<IIdentityManagementService>();
var readIdentity = identityService.ReadIdentity(IdentitySearchFactory.AccountName, @"[domailName here]\" + userName, MembershipQuery.Direct, ReadIdentityOptions.None);
1 ответ
Группы Windows хранятся не в TFS, а в Active Directory. Чтобы запросить Active Directory через TFS, используйте:
var collection = new TfsTeamProjectCollection(new Uri("http://mytfs:8080/tfs/MyCollection"));
var gss = collection.GetService<IGroupSecurityService>();
Identity i = gss.ReadIdentity(SearchFactor.AccountName, "myalias", QueryMembership.Direct);
Это пользователь, вы можете попробовать получить группы через него.