使用 TFSSecurity 管理Azure DevOps的组和权限
Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018
可以使用 TFSSecurity 命令行工具在Azure DevOps Server中创建、修改和删除组和用户,并额外修改组和用户的权限。 有关如何在用户界面中执行这些任务的信息,请参阅 向项目添加用户或组。
重要
TFSSecurity 命令行工具已弃用,用于Azure DevOps Services。 虽然 TFSSecurity 可能适用于某些Azure DevOps Services方案,但它不受支持。 对Azure DevOps Services的安全组和权限进行更改的建议方法是使用 Web 门户、az devops security 或 az devops permission 命令行工具或安全 REST API。
命令行工具位置
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 参数。 如果要更改项目的权限,则还必须具有项目设置为"允许"的项目的"编辑项目级信息"权限。 有关详细信息,请参阅 权限和组参考。
parameters
| 参数 | 说明 |
|---|---|
| 命名空间 | 包含要向其添加用户或组权限的组的命名空间。 还可以使用 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 项目集合授予集合级别视图集合级别信息权限。
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 参数。 如果要更改项目的权限,则还必须具有项目设置为"允许"的项目的"编辑项目级信息"权限。
parameters
| 参数 | 说明 |
|---|---|
| 命名空间 | 包含要删除用户或组权限的组的命名空间。 还可以使用 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)
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的权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 命名空间 | 包含要查看用户或组权限的组的命名空间。 |
| /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 命令,必须将 "查看项目级信息 "权限设置为 "允许"。 有关详细信息,请参阅 权限和组参考。
parameters
| 参数 | 描述 |
|---|---|
| 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 参数。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 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 参数,将视图集合级别信息和"查看实例级信息"和"编辑实例级信息"权限设置为"允许"。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 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信息"权限设置为"允许"。 有关详细信息,请参阅 权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 作用域 | 要向其添加项目级组的项目的 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 属性的整个值。
运行此命令后,可以在团队资源管理器中验证组。 右键单击命令中使用的项目,单击Project 设置,然后单击"组成员身份"。 在 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 命令,必须将该项目的 "编辑项目级信息 "权限设置为 "允许"。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 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 Auditors.
tfssecurity /gcg "Datum Auditors" "A. Datum Corporation Auditors" /server:ServerURL
/gd:删除服务器或集合级别组
使用 /gd 删除服务器级或集合级组。
tfssecurity /gd groupIdentity [/collection:CollectionURL] [/server:ServerURL]
先决条件
若要使用 /gd 命令,必须分别将视图集合级别信息和编辑集合级别信息或视图实例级信息以及 编辑实例级信息 权限设置为 "允许",具体取决于你使用的是 /collection 还是 /server 参数。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 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 命令,必须将"编辑项目级信息"权限设置为"允许"。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 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 参数。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 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 Test Engineers.
注意
这些示例纯属虚构,仅供说明之用。 不作任何实际关联,也不推断任何实际关联。
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 参数。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 标识 | 用户或应用程序组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符 。 |
| /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 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集合管理员组的标识信息。
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"项目的Project管理员组的标识信息。
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 参数。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 标识 | 用户或组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符 。 |
| /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"项目集合中Project集合管理员组的标识信息。 标识说明符为虚拟公司“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"中"Datum"项目集合中"Datum"项目的Project管理员组的标识信息。 “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 参数。 有关详细信息,请参阅 安全组和权限参考。
parameters
| 参数 | 说明 |
|---|---|
| 标识 | 用户或组的标识。 有关标识说明符的详细信息,请参阅本文后面的 标识说明符 。 |
| /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集合管理员组的标识信息。 “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"中"Datum"项目集合中"Datum"项目的Project管理员组的标识信息。 “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 安全组的成员。 有关详细信息,请参阅 安全组和权限参考。
注意
即使您是使用管理凭据登录,也必须使用提升的命令提示符执行此功能。
parameters
| 参数 | 说明 |
|---|---|
| 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,名称是帐户名称。 如果引用的标识位于域中,则需要域名。 对于应用程序组,名称是组显示名称,域是包含项目的 URI 或 GUID。 在此上下文中,如果省略域,则假定范围位于集合级别。 | 若要引用虚构公司"A"域"Datum1"中用户"John Peoples"的身份。 Datum Corporation:" n:DATUM1\jpeoples 若要引用应用程序组,请执行以下操作: n:"全职员工" n:00a10d23-7d45-4439-981b-d3b3e0b1ee\Vendors |
| adm:[Scope] | 引用作用域的管理应用程序组,例如服务器级别的"Team Foundation Administrators"或集合级别的"Project集合管理员"。 可选参数范围是项目 URI 或 URL,包括其 GUID 和连接字符串。 如果省略范围,则根据是否使用 /instance 或 /server 参数,假定服务器或集合范围。 在任一情况下,仍需要冒号。 | adm:vstfs://Classification/TeamProject/ GUID |
| srv: | 引用服务帐户的应用程序组。 | 不适用 |
| 所有: | 引用所有组和标识。 | 不适用 |
| 字符串 | 引用不限定的字符串。 如果字符串以 S-1 开头,则会将其标识为 SID。 如果字符串以 CN= 开头或 LDAP:// 则将其标识为可分辨名称。 否则,字符串将标识为名称。 | "团队测试人员" |
类型标记
以下标记用于标识输出消息中的标识类型和 ACE 类型。
标识类型标记
| 标识类型标记 | 描述 |
|---|---|
| U | Windows用户。 |
| G | Windows 组。 |
| A | Azure DevOps Server应用程序组。 |
| a [ A ] | 管理应用程序组。 |
| s [ A ] | 服务帐户应用程序组。 |
| X | 标识无效。 |
| ? | 标识未知。 |
访问控制项标记
| 访问控制项标记 | 说明 |
|---|---|
| + | 允许访问控制条目。 |
| - | DENY 访问控制条目。 |
| * [] | 继承的访问控制项。 |