gpt4 book ai didi

tfs - 如何以编程方式将用户添加到 TFS

转载 作者:行者123 更新时间:2023-12-01 16:34:02 27 4
gpt4 key购买 nike

我想以编程方式将用户添加到团队项目中。我发现的解决方案是这样的:

IGroupSecurityService gss = (IGroupSecurityService)objTFS.GetService(typeof(IGroupSecurityService));
Identity identity = gss.ReadIdentity(SearchFactor.AccountName, "Group name", QueryMembership.None);
gss.AddMemberToApplicationGroup(groupProject.Sid, member.Sid);

但这仅适用于 TFS 已知的组/用户。

我想向 TFS 添加 Windows 帐户

例如:

Windows 帐户名称:TestTFS

密码:123456

然后以编程方式将 TestTFS 添加到 TFS。

我知道有一个名为 TeamFoundation Administration Tool 的工具可以做到这一点,但我不想使用它。

最佳答案

在 TFS2012 中,IGroupSecurityService 被标记为过时,并替换为 IIdentityManagementService

您可以使用IIdentityManagementService.ReadIdentity()以及IIdentityManagementService.AddMemberToApplicationGroup()将 Windows 用户添加到 TFS 组,即使 TFS 还不知道这些 Windows 用户。

这是通过指定 ReadIdentityOptions.IncludeReadFromSource 来完成的选项。

下面是将 Windows 用户 VSALM\Barry 添加到 Fabrikam Fiber Web Team (TFS Group) 的示例,位于 FabrikamFiber团队项目,位于 http://vsalm:8080/tfs/FabrikamFiberCollection 服务器/集合中。

您需要添加对以下内容的引用:Microsoft.TeamFoundation.ClientMicrosoft.TeamFoundation.Common

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.Framework.Common;
using System;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://vsalm:8080/tfs/FabrikamFiberCollection"));

var ims = tpc.GetService<IIdentityManagementService>();

var tfsGroupIdentity = ims.ReadIdentity(IdentitySearchFactor.AccountName,
"[FabrikamFiber]\\Fabrikam Fiber Web Team",
MembershipQuery.None,
ReadIdentityOptions.IncludeReadFromSource);

var userIdentity = ims.ReadIdentity(IdentitySearchFactor.AccountName,
"VSALM\\Barry",
MembershipQuery.None,
ReadIdentityOptions.IncludeReadFromSource);

ims.AddMemberToApplicationGroup(tfsGroupIdentity.Descriptor, userIdentity.Descriptor);
}
}
}

关于tfs - 如何以编程方式将用户添加到 TFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8018374/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com