【问题标题】:See if a users has write access to a git repository in TFS 2017?查看用户是否对 TFS 2017 中的 git 存储库具有写入权限?
【发布时间】:2017-07-31 16:50:21
【问题描述】:

PowerShell 中是否有办法查看给定的 AD 用户是否对 TFS 2017 项目中托管的一个或所有 Git 存储库具有写入权限?

根据以下答案,我现在可以列出用户所在的组:

& $tfssecurity /imx $user /collection:$tfsCollection

接下来我尝试使用 tf.exe 列出其中一个组的权限,例如:

& $tf permission  /group:"Project Valid Users" /collection:$tfsCollection

这给了:

找到多个与“项目有效用户”匹配的身份。请指定以下身份之一:

- [Sample]\Project Valid Users (vstfs:///Classification/TeamProject/04f6bd69-9382-43de-8a5a-2cd784ac39a3\Project Valid Users)
- [Sample2]\Project Valid Users (vstfs:///Classification/TeamProject/f98df8fa-f270-4750-a73b-3a3082aaa6c9\Project Valid Users)

然后我尝试通过以下方式调整通话:

& $tf permission  /group:"[Sample]\Project Valid Users" /collection:$tfsCollection

但这给出了错误:

The item $/ does not exist at the specified version, or you do not have permission to access it.

我在这里遗漏了一些转义字符规则吗?

【问题讨论】:

  • Git / TFS 权限是否由 AD 委派?
  • 一些组在 AD 中定义,然后包含在 TFS 组中。只要 AD 组包含在具有 git 存储库访问权限的 TFS 组中,它就应该可以工作。

标签: git tfs


【解决方案1】:

TFS 中的每个 repo 都有一个permission的概念。你可以通过web portal--version control--the repo--security

找到这个

但是列表中并没有直接调用write这样的权限,最相关的应该是Contribute。每个权限的详细描述请参考这个--Git permissions

为实现您的需要,您可以使用tf Permission Command &TFSSecurity 列出指定组的权限并显示身份信息。如果用户具有相关权限或在具有足够权限的组中,最后进行匹配。

【讨论】:

  • 我已根据您的建议调整了我原来的问题,但 tf.exe 调用失败。
  • @u123 您是否使用了/group:[teamproject]\developers 格式并尝试通过命令提示符运行相同的命令?要使用权限命令,您必须将要修改的文件夹的 操作安全设置权限 设置为允许、是 Team Foundation 管理员安全组的成员,或者是本地计算机上的系统管理员(Windows 管理员安全组)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-13
  • 2016-04-23
  • 1970-01-01
  • 1970-01-01
  • 2011-03-10
  • 1970-01-01
相关资源
最近更新 更多