【发布时间】:2018-05-04 11:34:21
【问题描述】:
我正在开发这个 TFS 2013 以获得所有 TFS 组的项目级权限。但我无法获得 windows 组。 我使用以下代码列出组:
var applicationGroups = identityManagementService.ListApplicationGroups(project.Uri.AbsoluteUri, ReadIdentityOptions.None);
但此代码只会列出 Teams ([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) 下的 TFS 组,而不是 Windows 组 (TFS_Builder, TFS_DEV_AM...) 下的那些 TFS 组。
有谁知道我如何做到这一点,或者为什么我无法在 Windows 组下获得这些?
您好,非常感谢您的回复。 但我实际上是想查询所有这些 Windows 组,然后我将尝试确定每个组的成员。 您的回答也是正确的,但它仅适用于单个用户并尝试获取 memberOf 以便我们知道哪个 windows 组是用户的 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);
【问题讨论】:
标签: tfs