TFS 2017 使用 tfssecurity 将成员添加到项目集合服务帐户时出错

Posted

技术标签:

【中文标题】TFS 2017 使用 tfssecurity 将成员添加到项目集合服务帐户时出错【英文标题】:TFS 2017 error adding member to Project Collection Service Accounts with tfssecurity 【发布时间】:2017-07-15 20:45:39 【问题描述】:

我正在使用 TFS 2017 并尝试使用 tfssecurity 实用程序将成员添加到项目收集服务帐户,如下所示:

tfssecurity /server:"<https://myserverurl>" /m "[MyCollection]\Project Collection Service Accounts" "mydomains\myaccount"

我收到此错误:

错误:TF50621:您要管理的 Team Foundation 组是 不归服务主机 TEAM FOUNDATION 所有,归 .请 将您的请求定位到正确的主机。

有什么想法吗?我正在尝试添加我的构建代理服务正在使用的服务帐户。

我尝试这样做的原因是我的代理显示空闲,但它没有接收排队的作业。这是 TFS2017 的新部署,我正在对 server/agents/etc 进行初始配置。

【问题讨论】:

我已经多次完成了构建/发布代理的初始配置,并且从来不需要这样做。通常将我的“TFSBuild”帐户添加到 Web UI 中的正确安全组就足以让我将它们作为服务安装。这是一个正确的问题,还是关于如何设置代理的问题更合适? 我不确定@DaveShaw,我确实配置了代理,但它没有接手工作。我读过将服务帐户添加到该组可能会解决该问题。我将代理安装为服务,而 powershell 提示符没有任何错误。我收到了建议代理已配置的消息:扫描工具以获取功能。连接到服务器。成功添加代理。测试代理连接。 【参考方案1】:

显然,您无法将用户添加到 VSTS 同步迁移器文档中当前指定的“项目收集服务帐户”组。相反,您需要将您的 Migrator 帐户添加到“Team Foundation Services Accounts”组。尝试使用此命令:

tfssecurity /g+ "Team Foundation Service Accounts" n:<domain\account> /server:http://<tfs-server-uri>

对我来说,它看起来像这样:

tfssecurity /g+ "Team Foundation Service Accounts" n:TFSSetup /server:http://tfs-server:8080/tfs

【讨论】:

【参考方案2】:

实际上,您可以改为使用以下命令将用户添加到单个 TFS 收集服务帐户:

tfssecurity /g+ "Project Collection Service Accounts" n:domain\user /collection:http://servername:8080/tfs/collectionname.

您没有将用户放在 Team Foundation Service Accounts 组中,因此如果您不想这样做,它会被继承。

我找到了答案here。

【讨论】:

以上是关于TFS 2017 使用 tfssecurity 将成员添加到项目集合服务帐户时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 TFS 组

使用 Powershell 或 C# 从 TFS 项目中删除用户

带有 vstfs:///Classifcation ID 的 TFSSecurity

TFS 安全性 - 读者和贡献者组中的用户

将 TFS2017 任务更新到最新版本

如何使用 TFS 2015 / VS 2017 将通用测试与测试用例相关联?