使用 TFSSecurity 管理 Azure DevOps 的组和权限

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

可以使用 TFSSecurity 命令行工具在 Azure DevOps Server 中创建、修改和删除组和用户,还可以修改组和用户的权限。 有关如何在用户界面中执行这些任务的信息,请参阅 将用户或组添加到项目

重要

TFSSecurity 命令行工具已弃用,可与 Azure DevOps Services 一起使用。 虽然 TFSSecurity 可能适用于某些Azure DevOps Services方案,但它不受支持。 更改Azure DevOps Services的安全组和权限的建议方法是使用 Web 门户az devops securityaz devops permission 命令行工具或安全 REST API

命令行工具位置

Azure DevOps 命令行工具安装在 Azure DevOps 应用程序层服务器的 /Tools 目录中。

  • 2020 Azure DevOps Server:%programfiles%\Azure DevOps Server 2020\Tools
  • Azure DevOps Server 2019:%programfiles%\Azure DevOps Server 2019\Tools
  • TFS 2018:%programfiles%\Microsoft Team Foundation Server 2018\Tools
  • TFS 2017: %programfiles%\Microsoft Team Foundation Server 15.0\Tools
  • TFS 2015: %programfiles%\Microsoft Team Foundation Server 14.0\Tools
  • TFS 2013: %programfiles%\Microsoft Team Foundation Server 12.0\Tools
  • TFS 2012: %programfiles%\Microsoft Team Foundation Server 11.0\Tools
  • TFS 2010: %programfiles%\Microsoft Team Foundation Server 2010\Tools

注意

即使您是使用管理凭据登录,也必须使用提升的命令提示符执行此功能。

权限

/a+:添加权限

使用 /a+ 为服务器级、集合级或项目级组中的用户或组添加权限。 若要从 Web 门户将用户添加到组,请参阅 在项目或集合级别设置权限

tfssecurity /a+ Namespace Token Action Identity (ALLOW | DENY)[/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /a+ 命令,必须将“查看集合级别信息”或“查看实例级信息”权限分别设置为“允许”,具体取决于使用的是 /collection 还是 /server 参数。 如果要更改项目的权限,还必须将项目的“编辑项目级信息”权限设置为“允许”。 有关详细信息,请参阅 权限和组参考

参数

参数 说明
命名空间 包含要向其添加用户或组权限的组的命名空间。 还可以使用 tfssecurity /a 命令在服务器、集合和项目级别查看命名空间的列表。
标识 用户或组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符
  • 允许
    组或用户可以执行操作指定的操作。
  • DENY
    组或用户无法执行 Action 指定的操作。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 按以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

访问控制项是一种安全机制,该机制决定了用户、组、服务或计算机有权执行的操作。

示例:显示可用命名空间

以下示例显示名为 ADatumCorporation 的应用程序层服务器在服务器级别可用的命名空间。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /a /server:ServerURL 

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

示例:显示可用操作

以下示例显示哪些操作可用于集合级别的服务器级命名空间。

tfssecurity /a Server /collection:CollectionURL 

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

示例:分配实例级权限

以下示例为 Datum1 域用户 John Peoples (Datum1\jpeoples) 授予对 ADatumCorporation 部署的服务器 级视图实例级信息 权限。

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
      [+] GenericRead                        DATUM1\jpeoples

    Done.

示例:分配集合级权限

以下示例向 Datum1 域用户 John Peoples (Datum1\jpeoples) 的 Collection0 项目集合授予集合级视图集合级别信息权限。

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts
      [+] GenericRead                        DATUM1\jpeoples

    Done.

/a-:从组中的成员身份中删除用户或组

使用 /a- 命令从服务器级、集合级别或项目级组中的成员身份中删除用户或组。 若要从 Web 门户中删除组的用户,请参阅 删除用户帐户

tfssecurity /a- Namespace Token Action Identity (ALLOW | DENY) [/collection:CollectionURL] [/server:ServerURI]

先决条件

若要使用 /a- 命令,必须分别将“查看集合级别信息”或“查看实例级信息”权限设置为“允许”,具体取决于使用的是 /collection 还是 /server 参数。 如果要更改项目的权限,还必须将项目的“编辑项目级信息”权限设置为“允许”。

参数

参数 说明
命名空间 包含要删除用户或组权限的组的命名空间。 还可以使用 tfssecurity /a 命令在服务器、集合和项目级别查看命名空间的列表。
标识 用户或组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符
  • 允许
    组或用户可以执行操作指定的操作。
  • DENY
    组或用户无法执行 Action 指定的操作。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 按以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

访问控制项是一种安全机制,用于确定用户、组、服务或计算机已授权在计算机或服务器上执行的操作。

示例:显示服务器级命名空间

下面的示例为名为 ADatumCorporation 的应用层服务器显示服务器级别可用的命名空间。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /a /server:ServerURL 

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

示例:显示集合级别的可用操作

以下示例显示哪些操作可用于集合级别的服务器命名空间。

tfssecurity /a Server /collection:CollectionURL 

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

示例:删除实例级权限

以下示例删除了对 Datum1 域用户 John Peoples (Datum1\jpeoples) 的 ADatumCorporation 部署的服务器 级视图实例级信息 权限。

tfssecurity /a- Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators

    Done.

示例:删除集合级权限

以下示例删除对 Datum1 域用户 John Peoples (Datum1\jpeoples) 的 Collection0 项目集合的集合 级别视图 集合级别信息权限。

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts

    Done.

/acl:显示访问控制列表

使用 /acl 显示应用于特定对象的访问控制列表。

tfssecurity /acl Namespace Token [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /acl 命令,必须将 “查看集合级别信息 ”或“ 查看实例级信息 ”权限设置为 “允许”,具体取决于是使用 /collection 还是 /server 参数。 有关详细信息,请参阅Azure DevOps Server的权限参考

参数

参数 说明
命名空间 包含要查看用户或组权限的组的命名空间。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

访问控制项是一种安全机制,用于确定用户、组、服务或计算机已授权在计算机或服务器上执行的操作。

示例:列出对 sever 级别命名空间的 ACL 分配

以下示例显示哪些用户和组有权访问 ADatumCorporation 部署中的服务器命名空间中的 FrameworkGlobalSecurity 令牌。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL 

示例输出:

	TFSSecurity - Team Foundation Server Security Tool
	Copyright (c) Microsoft Corporation.  All rights reserved.
	The target Team Foundation Server is http://ADatumCorporation:8080/.
	Retrieving the access control list for object "Server"...

	Effective ACL on object "FrameworkGlobalSecurity":
	  [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
	  [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
	  [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
	  [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
	  [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
	  [+] GenericRead                        DATUM1\jpeoples

	Done.

/g:列出组

使用 /g 列出项目、项目集合或跨Azure DevOps Server的组。

tfssecurity /g [scope] [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /g 命令,必须将“查看集合级别信息”或“查看实例级信息”权限设置为“允许”,具体取决于是使用 /collection 还是 /server 参数。 若要在单个项目的范围内使用 /g 命令,必须将 “查看项目级信息” 权限设置为 “允许”。 有关详细信息,请参阅 权限和组参考

参数

参数 描述
scope 可选。 指定要显示其组的项目的 URI。 若要获取项目的 URI,请打开“团队资源管理器”,右键单击该项目,单击“属性”,然后复制 URL 的整个条目。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

TFSSecurity 命令行实用工具的 /g 命令显示有关所选范围内每个组的信息。 此范围可以是 /server) (项目集合,也可以是应用程序层服务器 (/instance) 。 如果与项目范围一起使用,它将仅显示有关与该项目关联的组的信息。

示例:显示集合级组信息

以下示例显示项目集合中所有组的信息。

tfssecurity /g /collection:CollectionURL

/g+:向现有组添加用户或其他组

使用 /g+ 将用户或其他组添加到现有组。

tfssecurity /g+ groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /g+ 命令,必须分别将“查看集合级别信息”和“编辑集合级别信息”或“查看实例级信息”和“编辑实例级信息”权限设置为“允许”,具体取决于是使用 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
groupIdentity 指定组标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
memberIdentity 指定成员标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

还可以使用团队资源管理器将用户和组添加到现有组。 有关详细信息,请参阅 在项目或集合级别设置权限

示例:将用户添加到服务器级组

下面的示例将 Datum1 域用户 John Peoples (Datum1\jpeoples) 添加到 Team Foundation Administrators 组。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /g+ "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding John Peoples to [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    4 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/g-:删除用户或组

使用 /g- 从现有组中删除用户或用户组。

tfssecurity /g- groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /g- 命令,必须分别将“查看集合级别信息”和“编辑集合级别信息”或“查看实例级信息”和“编辑实例级信息”权限设置为“允许”,具体取决于使用的是 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
groupIdentity 指定组标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
memberIdentity 指定成员标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

还可以使用团队资源管理器将用户和组添加到现有组。 有关详细信息,请参阅 从项目组中删除用户 或在 项目或集合级别设置权限

示例:从服务器级组中删除用户

下面的示例将 Datum1 域用户 John Peoples (Datum1\jpeoples) 从 Team Foundation Administrators 组中移除。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /g- "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing John Peoples from [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    3 member(s):
      [U] Datum1\hholt (Holly Holt)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/gc:创建项目级别组

在命令提示符下使用 /gc 创建项目级组。 若要从用户界面创建项目级组,请参阅 管理用户或组

tfssecurity /gc Scope GroupName [GroupDescription] [/collection:CollectionURL]

先决条件

若要使用 /gc 命令,必须将该项目的“编辑 Project-Level 信息”权限设置为“允许”。 有关详细信息,请参阅 权限参考

参数

参数 说明
作用域 要向其添加项目级组的项目的 URI。 若要获取项目的 URI,请连接到该项目,然后打开团队资源管理器,将鼠标悬停在“主页”中的项目名称上,然后读取地址。 此外,在 Web Access 中连接到该项目并复制该 URL。
GroupName 新组的名称。
GroupDescription 项目组的说明。 可选。
/collection :CollectionURL 项目集合的 URL。 必需。 将在项目集合中创建组。 URL 的格式为 http:// ServerName Port / VirtualDirectoryName / CollectionName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

项目级组是项目的安全组。 你可以使用项目组来授予可满足组织安全要求的读取、写入和管理权限。

示例:向项目添加安全组

下面的示例将创建特定于 URI“vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000”指定的项目的组。 该组的名称为“测试组”并且附带说明“该组用于测试。”

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

必须将占位符 GUID 替换为要为其创建此组的项目的 URI。 若要获取项目的 URI,请打开“团队资源管理器”,右键单击该项目,单击“属性”,然后复制 URL 属性的整个值。

运行命令后,可以在团队资源管理器中验证组。 右键单击命令中使用的项目,单击“项目设置”,然后单击“组成员身份”。 在 TeamProjectName 上的“项目组”对话框中,“组”列表包括“测试组”。

注意

可以使用 /gc 命令创建组,但不能将任何用户添加到组或分配任何权限。 若要更改组的成员身份,请参阅 /g+:将用户或其他组添加到现有组/g-: 删除用户或组。 若要更改组的权限,请参阅 /a+: 添加权限/a-: 从组中的成员身份中删除用户或组

tfssecurity /gc "vstfs:///Classification/TeamProject/00000000-0000-0000-0000-000000000000" "Test Group" "This group is for team members who test our code" /collection:CollectionURL

/gcg:创建服务器或集合级别组

使用 /gcg 命令创建服务器级或集合级组。 若要从 Web 门户创建集合级组,请参阅 在项目或集合级别设置权限

tfssecurity /gcg GroupName [GroupDescription] [/collection:CollectionURL] [/server:ServerURL]`

先决条件

若要使用 /gcg 命令,必须将该项目的 “编辑项目级信息” 权限设置为 “允许”。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
GroupName 组名称。
GroupDescription 组的说明。 可选。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

服务器级组直接在应用程序层上创建,并应用于所有项目集合。 集合级别是在项目集合级别创建的。 它们适用于该集合,并且对集合中的所有项目都有影响。 相比之下,项目组适用于集合中的特定项目,但不适用于该集合中的任何其他项目。 可以将权限分配给服务器级组,以便这些组的成员可以在Azure DevOps Server自身中执行任务,例如创建项目集合。 可以为集合级别组分配权限,以便这些组的成员可以跨项目集合执行任务,例如管理用户。

注意

可以使用 /gcg 命令创建组,但不能使用它将任何用户添加到组或分配任何权限。 有关如何更改组成员身份的信息,请参阅 /g+:将用户或其他组添加到现有组/g-: 删除用户或组。 有关如何更改组权限的信息,请参阅 /a+: 添加权限/a-: 从组中的成员身份中删除用户或组

示例:添加集合级安全组

以下示例创建名为“Datum Testers”的集合级组,其说明为“A”。 Datum Corporation Testers。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /gcg "Datum Testers" "A. Datum Corporation Testers" /collection:CollectionURL

以下示例创建一个名为“Datum Auditors”且描述为“A”的服务器级组。 Datum Corporation 审核员。

tfssecurity /gcg "Datum Auditors" "A. Datum Corporation Auditors" /server:ServerURL

/gd:删除服务器或集合级别组

使用 /gd 删除服务器级或集合级组。

tfssecurity /gd groupIdentity [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /gd 命令,必须分别将“查看集合级别信息”和“编辑集合级别信息”或“查看实例级信息”和 “编辑实例级信息 ”权限设置为 “允许”,具体取决于使用的是 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
groupIdentity 指定组标识。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 按以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。 若要通过 Web 门户修改权限,请参阅 在项目或集合级别设置权限

示例:删除集合级安全组

以下示例从项目集合中删除组。 组由“S-1-5-21-2127521184-1604012920-1887927527-588340”标识,安全标识符 (SID) 。 有关查找组的 SID 的详细信息,请参阅 /im:显示有关构成直接成员身份的标识的信息。 还可以使用友好名称删除组。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /gd S-1-5-21-2127521184-1604012920-1887927527-588340 /collection:CollectionURL

/gud:更改服务器或集合级别组

使用 /gud 更改服务器级别或集合级别组的说明。

tfssecurity /gud GroupIdentity GroupDescription [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /gud 命令,必须将“编辑项目级信息”权限设置为“允许”。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
GroupIdentity 指定组标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
GroupDescription 指定组的新说明。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 按以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

示例:向安全组添加说明

以下示例将说明“此组的成员测试此项目的代码”与组“Datum Testers”相关联。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /gud "Datum Testers" "The members of this group test the code for this project" /collection:CollectionURL

/gun:重命名组

使用 /gun 重命名服务器级或集合级组。

tfssecurity /gun GroupIdentity GroupName [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /gun 命令,必须分别将“查看集合级别信息”和“编辑集合级别信息”或“查看实例级信息”和“编辑实例级信息”权限设置为“允许”,具体取决于使用的是 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
GroupIdentity 指定组标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
GroupName 指定组的新名称。
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 按以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

示例:重命名安全组

以下示例将集合级组重命名为“A. Datum Corporation Testers“到”A. Datum Corporation 测试工程师。”

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /gun "A. Datum Corporation Testers" "A. Datum Corporation Test Engineers" /collection:CollectionURL

标识和成员身份

/i:显示指定组的标识信息

使用 /i 显示Azure DevOps Server部署中指定组的标识信息。

tfssecurity /i Identity [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /i 命令,必须分别将“查看集合级别信息”或“查看实例级别信息”权限设置为“允许”,具体取决于使用的是 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
标识 用户或应用程序组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

TFSSecurity 命令行实用工具的 /i 命令显示有关项目集合中每个组的信息 (/server) 或应用程序层服务器 (/instance) 。 它不显示任何成员身份信息。

示例:列出安全组的标识信息

以下示例显示“Team Foundation 管理员”组的标识信息。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /i "Team Foundation Administrators" /server:ServerURL 

示例输出:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: Team Foundation Administrators
      Description: Members of this application group can perform all privileged operations on the server.

示例:显示安全组的标识信息

以下示例使用 adm: identity 说明符显示 Project Collection Administrators 组的标识信息。

tfssecurity /i adm: /collection:CollectionURL 

示例输出:

    Resolving identity "adm:"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [DatumOne]\Project Collection Administrators
      Description: Members of this application group can perform all privileged operations on the project collection.

以下示例使用 adm: identity 说明符显示“Datum”项目的“项目管理员”组的标识信息。

tfssecurity /i adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

示例输出:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Datum
     Display name: [Datum]\Project Administrators
      Description: Members of this application group can perform all operations in the project.

/im:显示有关构成直接成员身份的标识的信息

使用 /im 显示有关构成所指定组直接成员身份的标识的信息。

tfssecurity /im Identity [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /im 命令,必须将“查看集合级别信息”或“查看实例级信息”权限设置为“允许”,具体取决于是使用 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
标识 用户或组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

TFSSecurity/im 命令仅显示指定组的直接成员。 此列表包括作为指定组的成员的其他组。 但是,不会列出成员组的实际成员。

示例:显示安全组的成员身份

下面的示例显示了虚拟公司“A.Datum Corporation”的域“Datum1”中的“Team Foundation Administrators”组的直接 成员资格标识信息。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /im "Team Foundation Administrators" /server:ServerURL

示例输出:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    3 member(s):
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

示例:显示安全组的标识信息

以下示例显示虚构公司“A”域“Datum1”中“DatumOne”项目集合中“项目集合管理员”组的标识信息。 标识说明符为虚拟公司“A.Datum Corporation”的域“Datum1”中“DatumOne”团队项目集合中的“Project Collection Administrators”组显示标识信息。

tfssecurity /im adm: /collection:CollectionURL 

示例输出:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    5 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Colleciton Valid Users)

    Done.

示例:使用标识说明符显示安全组的标识信息

以下示例显示虚构公司“A”域“Datum1”中“DatumOne”项目集合中“DatumOne”项目“项目管理员组的标识信息。 “Project Administrators”组显示标识信息。

tfssecurity /im adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

示例输出:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

/imx:显示有关扩展成员身份的标识的信息

使用 /imx 显示有关构成指定组扩展成员身份的标识的信息。

tfssecurity /imx Identity [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /imx 命令,必须将“查看集合级别信息”或“查看实例级信息”权限设置为“允许”,具体取决于是使用 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

参数 说明
标识 用户或组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 使用以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在 Azure DevOps 的应用程序层服务器上运行此命令。

TFSSecurity/imx 命令仅显示指定组的展开成员。 此列表不仅包括作为指定组成员的其他组,还包括成员组的成员。

示例:显示安全组的扩展成员身份信息

下面的示例显示了虚拟公司“A.Datum Corporation”的域“Datum1”中的“Team Foundation Administrators”组的扩展的成员资格标识 成员资格标识信息。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /imx "Team Foundation Administrators" /server:ServerURL

示例输出:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    10 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [U] Datum1\tommyh (Tommy Hartono)
      [U] Datum1\henriea (Henriette Andersen)
      [U] Datum1\djayne (Darcy Jayne)
      [U] Datum1\aprilr (April Reagan)
      [G] Datum1\InfoSec Secure Environment
      [U] Datum1\nbento (Nuno Bento)
      [U] Datum1\cristp (Cristian Petculescu)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 3 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

以下示例显示虚构公司“A”域“Datum1”中“DatumOne”项目集合中“项目集合管理员”组的标识信息。 “Project Administrators”组显示标识信息。

tfssecurity /imx adm: /collection:CollectionURL 

示例输出:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    6 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [InstanceName]\Team Foundation Service Accounts
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

示例:使用标识说明符显示安全组的标识信息

以下示例显示虚构公司“A”域“Datum1”中“DatumOne”项目集合中“DatumOne”项目“项目管理员组的标识信息。 “Project Administrators”组显示标识信息。

tfssecurity /imx adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

示例输出:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 2 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

有关输出说明符(如 [G] 和 [U])的详细信息,请参阅本文后面的 标识说明符

/m:检查显式和隐式组成员身份

使用 /m 为指定组或用户检查显式和隐式组成员身份信息。

tfssecurity /m GroupIdentity [MemberIdentity] [/collection:CollectionURL] [/server:ServerURL]

先决条件

若要使用 /m 命令,你必须是 Team Foundation Administrators 安全组的成员。 有关详细信息,请参阅 安全组和权限参考

注意

即使您是使用管理凭据登录,也必须使用提升的命令提示符执行此功能。

参数

参数 说明
GroupIdentity 指定组标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
MemberIdentity 指定成员标识。 默认情况下,此参数的值是运行命令的用户的标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
/collection :CollectionURL 如果未使用 /server ,则是必需的。 使用以下格式指定项目集合的 URL: http:// ServerName Port / VirtualDirectoryName / CollectionName
/server :ServerURL 如果未使用 /collection ,则为必需。 按以下格式指定应用程序层服务器的 URL: http:// ServerName Port / VirtualDirectoryName

注解

在本地应用程序层计算机上运行此命令。

TFSSecurity 命令行实用工具的 /m 命令同时检查直接成员身份和扩展成员身份。

示例:验证安全组中用户的成员身份

以下示例验证用户“Datum1\jpeoples”是否属于 Team Foundation Administrators 服务器级组。

注意

这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。

tfssecurity /m "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

示例输出:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Checking group membership...

    John Peoples IS a member of [INSTANCE]\Team Foundation Administrators.

    Done.

安全命名空间

注意

命名空间和令牌对所有版本的 Azure DevOps 都有效。 命名空间可能会随时间推移而更改。 若要获取命名空间的最新列表,请练习其中一个命令行工具或 REST API。 某些命名空间已弃用。 有关详细信息,请参阅安全命名空间和权限参考

标识说明符

可以使用下表中的表示法之一来引用标识。

标识说明符 说明 示例
希: 希。 引用具有指定安全标识符的标识 (SID) 。 sid:S-1-5-21-2127521184-1604012920-1887927527-588340
n:[D omain]Name 引用具有指定名称的标识。 对于 Windows,Name 是帐户名称。 如果引用的标识在域中,则域名是必需的。 对于应用程序组,“名称”是组显示名称,“域”是包含项目的 URI 或 GUID。 在此上下文中,如果省略域,则假定范围在集合级别。 在虚构公司“A.”的域“Datum1”中引用用户“John Peoples”的标识。 Datum Corporation:”

n:DATUM1\jpeoples

引用应用程序组:

n:“全职员工”

n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Vendors
adm:[Scope] 引用范围的管理应用程序组,例如服务器级别的“Team Foundation Administrators”或集合级别的“Project Collection Administrators”。 可选参数 Scope 是项目 URI 或 URL,包括其 GUID 和 连接字符串。 如果省略 scope,则根据是使用 /instance 还是 /server 参数来假定服务器或集合范围。 在任一情况下,仍需要冒号。 adm:vstfs:///Classification/TeamProject/ Guid
srv: 引用服务帐户的应用程序组。 不适用
所有: 引用所有组和标识。 不适用
String 引用非限定字符串。 如果 String 以 S-1 开头,则它被标识为 SID。 如果 String 以 CN=LDAP:// 则它被标识为可分辨名称。 否则,String 将标识为名称。 “团队测试人员”

类型标记

以下标记用于标识输出消息中的标识类型和 ACE。

标识类型标记

标识类型标记 描述
U Windows 用户。
G Windows 组。
A Azure DevOps Server应用程序组。
a [ A ] 管理应用程序组。
s [ A ] 服务帐户应用程序组。
X 标识无效。
? 标识未知。

访问控制条目标记

访问控制条目标记 说明
+ 允许访问控制项。
- DENY 访问控制条目。
* [] 继承的访问控制项。