【问题标题】:How to set TFS version control permissions for NotSet如何为 NotSet 设置 TFS 版本控制权限
【发布时间】:2016-01-15 19:49:25
【问题描述】:

我正在尝试使用 TFS API 来配置 TFS VC 权限。我可以对版本控制 (VC) 文件夹项目上的指定组/用户使用“允许”或“拒绝”ACE。我得到了帮助: VCPermissions

但是,我不知道如何设置“未设置”ACE。当您从版本控制项中为用户/组单击“清除显式选项”时,TFS 会使用此选项。

感谢任何帮助! 谢谢。

【问题讨论】:

  • 未设置意味着没有 ACE 并且可以选择禁用继承。
  • $vcSecurityNamespace = $sec.GetSecurityNamespace([Microsoft.TeamFoundation.VersionControl.Common.SecurityConstants]::RepositorySecurityNamespaceGuid)$vcSecurityNamespace.SetPermissions($teamProjectSC.ServerItem, $tfsGroup.Descriptor, [Microsoft.TeamFoundation .VersionControl.Common.VersionedItemPermissions]::None, [Microsoft.TeamFoundation.VersionControl.Common.VersionedItemPermissions]::None, $true)
  • 您能否提供一个示例或指向一些链接?我尝试了 SecurityNamespace (RepositorySecurityNamespaceGuid) 的 SetPermissions() 方法,其中 None 为 Allow 参数,All 为 Deny 参数。但是当我回到VS的安全屏幕查看效果时,该组已从屏幕上删除。

标签: tfs visual-studio-2015 tfs-2015


【解决方案1】:

您不能只设置“未设置”。要在版本控制 (VC) 文件夹项目上为指定组/用户获取“未设置”,您可能需要使用 PermissionChange.Remove 属性删除权限。

请查看this article 以获取有关 PermissionChange 构造函数的更多信息。这里有一篇关于Update user permissions in source control using TFS API的博客供大家参考。

【讨论】:

  • 我尝试了建议的链接,但问题仍然相同。一旦我全部拒绝,用户/组本身就会消失。我想要的是一种 UnSet 权限而不是删除用户/组的方法。感谢您的帮助!
  • 我也尝试过 PermissionChange.Remove 但它没有用。例如,如果该组只有一个权限集,让我们在执行我的脚本之前说 READ。在我的脚本中,我删除了 READ 权限。整个组从配置安全屏幕中消失,而不是将特定的 READ 权限设置为 Not Set
猜你喜欢
  • 1970-01-01
  • 2013-10-30
  • 1970-01-01
  • 2018-03-19
  • 2020-01-08
  • 2016-04-10
  • 2011-09-14
  • 2012-05-07
  • 1970-01-01
相关资源
最近更新 更多