0

我正在尝试使用 PowerShell 从用户列表中编写一些权限删除脚本。问题是,当我执行命令列出与用户关联的用户组时,我得到一个通用结果,当我执行从该组中删除用户的命令时无法使用该结果。

要获取用户的组:

    tfssecurity /im <domain>\<username> /server:<tfsserver>:8080/tfs 

结果:

目标 Team Foundation Server 是 http://:8080/tfs/。正在解析身份“\username”...

SID:S-1-5-21-3609080306-XXXXXXXXXX-XXXXXXXXX-5728

DN: CN=LastName, FirstName,OU=Disabled Users,DC=company,DC=com

身份类型:Windows 用户登录名:\ 邮件地址:username@domain.com 显示名称:姓氏、名字描述:TFS 用户

1 个组的成员:[A] [TeamProject]\Developers

完毕。

问题:当我尝试从返回的组中删除用户时:

    tfssecurity /g- "[TeamProject]\Developers" <domain>\<username> /collection:http://tfsserver:8080/tfs/collection/

我得到:

目标 Team Foundation Server 是 http://tfsserver:8080/tfs/collection。正在解析身份“[TeamProject]\Developers”...

错误:无法解析身份。

我正在寻找的东西是这样的:

vstfs:///Classification/TeamProject/af89c143-2f5e-4f5b-974e-903e8db86f73\Developers

我确实知道 TFS UI 可以提供这些组 SIDS,但我想看看我是否可以从 TFSSecurity 或其他命令库获取这些 SIDS,以便 PowerShell 可以利用这些 SIDS。

C:\Program Files (x86)\Microsoft Visual Studio 14.0>tfssecurity /g- "[Archive Projects]\Developers" \ /server:http://:8080/tfs/ Microsoft (R) TFSSecurity - Team Foundation Server 安全工具版权所有 (c) 微软公司。版权所有。

目标 Team Foundation Server 是 http://tfs-na.ihs.com:8080/tfs。正在解析身份“[Archive Projects]\Developers”...

错误:找到与“[存档项目]\Developers”匹配的多个身份。请指定以下身份之一:

  • [存档项目]\Developers (vstfs:///Classification/TeamProject/8153b33c-addc-48c2-81c0-XxXXXxxxXXXX\Developers)
  • [存档项目]\Developers (vstfs:///Classification/TeamProject/f3d25cfe-41b3-4f30-a329-BBBbbBBBbbbb\Developers)
  • [归档项目]\Developers (vstfs:///Classification/TeamProject/c0820b8e-2af0-416c-88b5-CCcccCCCccCC\Developers)
4

1 回答 1

0

tfssecurity /g-使用 of命令时无需使用 SID 。你的命令是正确的。

tfssecurity /g- "[TeamProject]\Developers" <domain>\<username> /collection:http://tfsserver:8080/tfs/collection/

在此处输入图像描述

根据错误The identity cannot be resolved,这更像是域服务器的连接问题。使用 Team Foundation Server 和 de AD 服务器之间的直接连接,可以解析所有身份。此外,如果您的帐户和 TFS 服务器使用两个不同的域。确保他们相互信任,详细看这个问题:TFSSecurity Unable to Resolve Identity

于 2017-05-23T04:35:29.333 回答