使用 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 方案,但它不受支持。 建议使用 Web 门户az devops securityaz devops permission 命令行工具或 安全 REST API 来更改 Azure DevOps Services 的安全组和权限。

命令行工具位置

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

  • Azure DevOps Server 2020:%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 参数。 如果要更改项目的权限,则还必须具有项目设置为“允许”的“编辑项目级信息”权限。 有关详细信息,请参阅 权限和组参考

参数

论点 说明
Namespace 包含要给用户或组添加权限的组的命名空间。 还可以使用 tfssecurity /a 命令查看服务器、集合和项目级别的命名空间列表。
身份 用户或组的身份。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符
  • 允许
    组或用户可以执行动作指定的操作。
  • 拒绝
    组或用户无法执行操作指定的动作。
/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 项目集合授予集合级 View 集合级别信息权限。

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 参数。 如果要更改项目的权限,则还必须具有项目设置为“允许”的“编辑项目级信息”权限。

参数

论点 说明
Namespace 包含要为用户或组移除权限的组的命名空间。 还可以使用 tfssecurity /a 命令查看服务器、集合和项目级别的命名空间列表。
身份 用户或组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符
  • 允许
    组或用户可以执行操作所指定的行动。
  • 拒绝
    组或用户无法执行动作指定的操作。
/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.

示例:删除实例级权限

以下示例展示了如何移除 ADatumCorporation 部署中对服务器层级 视图实例级信息 的权限,该权限属于 Datum1 域用户 John Peoples(Datum1\jpeoples)。

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 权限参考。

参数

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

注解

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

访问控制条目是安全机制,用于确定用户、组、服务或计算机有权在计算机或服务器上执行的操作。

示例:列出对分工级命名空间的 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 命令,必须将 “查看项目级信息 ”权限设置为 “允许”。 有关详细信息,请参阅 权限和组参考

参数

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

注解

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

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

示例:显示集合级组信息

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

tfssecurity /g /collection:CollectionURL

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

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

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

先决条件

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

参数

论点 说明
群体身份 指定群组身份。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
成员身份识别 指定成员标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
/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 的应用程序层服务器上运行以下命令。

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

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

以下示例从 Team Foundation Administrators 组中删除 Datum1 域用户 John Peoples (Datum1\jpeoples)。

注释

这些示例仅用于说明,并且是虚构的。 无意与任何现实情况关联,也不应作此推测。

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。
组名称 新组的名称。
组描述 项目组的说明。 可选。
/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 命令,必须将该项目的 “编辑项目级信息 ”权限设置为 “允许”。 有关详细信息,请参阅 安全组和权限参考

参数

论点 说明
组名 组名称。
组描述 小组的描述。 可选。
/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 审核员”的服务器级组,其说明为“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 参数。 有关详细信息,请参阅 安全组和权限参考

参数

论点 说明
群体身份 指定组标识。
/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 的详细信息,请参阅 /im:显示构成直接成员身份的标识的信息。 您还可以使用友好名称来删除一个组。

注释

这些示例仅用于说明,并且是虚构的。 无意与任何现实情况关联,也不应作此推测。

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

/gud: 更改服务器或集合级组的描述

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

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

先决条件

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

参数

论点 说明
群组身份 指定组标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
组描述 指定组的新描述。
/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 参数。 有关详细信息,请参阅 安全组和权限参考

参数

论点 说明
群体身份 指定组身份。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
组名 指定组的新名称。
/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 命令,必须具有视图集合级信息或视图实例 -level 信息权限设置为“允许”,具体取决于是分别使用 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考

参数

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

注解

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

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

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

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

注释

这些示例仅用于说明,并且是虚构的。 无意与任何现实情况关联,也不应作此推测。

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: 标识说明符显示 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”域“Datum1”中“Team Foundation Administrators”组的直接成员身份标识信息。 Datum Corporation”。

注释

这些示例仅用于说明,并且是虚构的。 无意与任何现实情况关联,也不应作此推测。

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”项目集合中项目集合管理员组的标识信息。 使用 adm: identity 说明符来识别“Datum Corporation”。

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”项目集合中“Datum”项目的项目管理员组的标识信息。 Datum Corporation“使用 adm:identity 说明符。

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”域“Datum1”中“Team Foundation Administrators”组的扩展成员身份信息。 Datum Corporation”。

注释

这些示例仅用于说明,并且是虚构的。 无意与任何现实情况关联,也不应作此推测。

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”项目集合中项目集合管理员组的标识信息。 “Datum Corporation”使用 adm:identity 识别符。

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”项目集合中“Datum”项目的项目管理员组的标识信息。 “Datum Corporation” 使用 adm: identity 说明符。

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 安全组的成员。 有关详细信息,请参阅 安全组和权限参考

注释

即使已使用管理凭据登录,也必须打开提升的命令提示符以执行此函数。

参数

论点 说明
群组身份 指定组标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
成员身份 指定成员标识。 默认情况下,此参数的值是运行命令的用户的标识。 有关有效标识说明符的详细信息,请参阅本文后面的 标识说明符
/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。 引用具有指定安全标识符(SID)的标识。 sid:S-1-5-21-2127521184-1604012920-1887927527-588340
n:[Domain]Name 引用具有指定名称的标识。 对于 Windows,名称是帐户名称。 如果引用的标识位于域中,则需要域名。 对于应用程序组,名称是组显示名称,域是包含项目的 URI 或 GUID。 在此上下文中,如果省略域,则假定范围在集合级别。 在虚构公司“A”的域“Datum1”中标识用户“John Peoples”的身份。 Datum Corporation:”

n:DATUM1\jpeoples

若要引用应用程序组,请按照以下步骤操作:

n:“全职员工”

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

类型标记

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

标识类型标记

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

访问控制项标记

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