Использование 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 — использование веб-портала, средств командной строки az devops security или az devops permission или REST API безопасности.

Расположение программы командной строки

Программы командной строки Azure DevOps устанавливаются в каталоге /Tools на сервере уровня приложений Azure DevOps.

  • 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+ , чтобы добавить разрешения для пользователя или группы в группе уровня сервера, на уровне коллекции или на уровне проекта. Сведения о добавлении пользователей в группы с веб-портала см. в статье Установка разрешений на уровне проекта или коллекции.

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

Предварительные требования

Чтобы использовать команду /a+ , необходимо иметь разрешение Просмотр сведений на уровне коллекции или Просмотр сведений на уровне экземпляра значение Разрешить в зависимости от того, используете ли вы параметр /collection или /server соответственно. Если вы изменяете разрешения для проекта, у вас также должно быть разрешение Изменить сведения на уровне проекта для проекта значение Разрешить. Дополнительные сведения см. в справочнике по разрешениям и группам.

Параметры

Аргумент Описание
Пространство имен Пространство имен, содержащее группу, в которую требуется добавить разрешения для пользователя или группы. Вы также можете использовать команду tfssecurity /a для просмотра списка пространств имен на уровне сервера, коллекции и проекта.
Идентификация Удостоверение пользователя или группы. Дополнительные сведения об описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
  • ПОЗВОЛЯЮТ
    Группа или пользователь может выполнить операцию, указанную действием .
  • DENY
    Группа или пользователь не могут выполнить операцию, указанную действием .
/collection :CollectionURL Требуется, если параметр /server не используется. Задает URL-адрес коллекции проектов в следующем формате: http:// имя_сервера : имя_коллекции_порта / виртуального_каталога /
/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)
    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.

Пример. Назначение разрешения на уровне коллекции

В следующем примере предоставляется разрешение на просмотр сведений на уровне коллекции для коллекции Collection0 для пользователя домена Datum1 John Peoples (Datum1\jpeoples).

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- , чтобы удалить пользователя или группу из членства в группе уровня сервера, коллекции или проекта. Сведения об удалении пользователей из групп с веб-портала см. в статье Удаление учетных записей пользователей.

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

Предварительные требования

Чтобы использовать команду /a- , необходимо иметь разрешение Просмотр сведений на уровне коллекции или Разрешение Просмотр сведений на уровне экземпляра в зависимости от того, используете ли вы параметр /collection или /server соответственно. Если вы изменяете разрешения для проекта, у вас также должно быть разрешение Изменить сведения на уровне проекта для проекта значение Разрешить.

Параметры

Аргумент Описание
Пространство имен Пространство имен, содержащее группу, для которой требуется удалить разрешения для пользователя или группы. Вы также можете использовать команду tfssecurity /a для просмотра списка пространств имен на уровне сервера, коллекции и проекта.
Идентификация Удостоверение пользователя или группы. Дополнительные сведения об описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
  • ПОЗВОЛЯЮТ
    Группа или пользователь может выполнить операцию, указанную действием .
  • DENY
    Группа или пользователь не могут выполнить операцию, указанную действием .
/collection :CollectionURL Требуется, если параметр /server не используется. Задает URL-адрес коллекции проектов в следующем формате: http:// имя_сервера : имя_коллекции_порта / виртуального_каталога /
/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.

Пример. Удаление разрешения уровня коллекции

В следующем примере удаляется разрешение на просмотр сведений на уровне коллекции для коллекции проекта Collection0 для пользователя домена Datum1 John Peoples (Datum1\jpeoples).

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:// имя_сервера : имя_коллекции_порта / виртуального_каталога /
/server :ServerURL Требуется, если параметр /collection не используется. Указывает URL-адрес сервера уровня приложений в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Комментарии

Выполните эту команду на сервере уровня приложений для Azure DevOps.

Записи управления доступом — это механизмы обеспечения безопасности, определяющие, какие операции пользователю, группе, службе или компьютеру разрешено выполнять на компьютере или сервере.

Пример. Перечисление назначений ACL для пространства имен на уровне северов

В следующем примере показано, какие пользователи и группы имеют доступ к маркеру FrameworkGlobalSecurity в пространстве имен сервера в развертывании ADatumCorporation.

Примечание

Примеры приводятся только для иллюстрации и являются вымышленными. Связь с реальными обстоятельствами является случайной.

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:// имя_сервера : имя_коллекции_порта / виртуального_каталога /
/server :ServerURL Требуется, если параметр /collection не используется. Указывает URL-адрес сервера уровня приложений в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Комментарии

Выполните эту команду на сервере уровня приложений для Azure DevOps.

Команда /g программы командной строки TFSSecurity отображает сведения о каждой группе в выбранном область. Это область может быть коллекция проектов (/server) или сервер уровня приложений (/экземпляр). При использовании с область проекта будут отображаться сведения только о группах, связанных с этим проектом.

Пример. Отображение сведений о группе уровня коллекции

В следующем примере отображаются сведения для всех групп в коллекции проектов.

tfssecurity /g /collection:CollectionURL

/g+: добавление пользователя или другой группы в существующую группу

Используйте /g+ , чтобы добавить пользователя или другую группу в существующую группу.

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

Предварительные требования

Чтобы использовать команду /g+ , необходимо иметь разрешения Просмотр сведений на уровне коллекции и Изменение сведений на уровне коллекции или Просмотр сведений на уровне экземпляра и Изменение сведений на уровне экземпляра в зависимости от того, используете ли вы параметр /collection или /server соответственно. Дополнительные сведения см. в статье Группы безопасности и справочник по разрешениям.

Параметры

Аргумент Описание
groupIdentity Задает удостоверение группы. Дополнительные сведения о допустимых описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
memberIdentity Задает удостоверение члена группы. Дополнительные сведения о допустимых описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
/collection :CollectionURL Требуется, если параметр /server не используется. Задает URL-адрес коллекции проектов в следующем формате: http:// имя_сервера : имя_коллекции_порта / виртуального_каталога /
/server :ServerURL Требуется, если параметр /collection не используется. Указывает URL-адрес сервера уровня приложений в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Комментарии

Выполните эту команду на сервере уровня приложений для Azure DevOps.

Вы также можете добавить пользователей и группы в существующую группу с помощью команды Обозреватель. Дополнительные сведения см. в разделе Установка разрешений на уровне проекта или коллекции.

Пример. Добавление пользователя в группу уровня сервера

В следующем примере в группу "Администраторы Team Foundation" добавляется пользователь John Peoples домена Datum1 (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)
    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 Обозреватель. Дополнительные сведения см. в разделах Удаление пользователей из группы проектов или Установка разрешений на уровне проекта или коллекции.

Пример. Удаление пользователя из группы уровня сервера

В следующем примере из группы "Администраторы Team Foundation" удаляется пользователь John Peoples домена Datum1 (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) проекта, подключитесь к нему и откройте командную Обозреватель, наведите указатель мыши на имя проекта на главной странице и прочитайте адрес. Как вариант, подключитесь к проекту через средство веб-доступа и скопируйте URL-адрес.
GroupName Имя новой группы.
Описание группы Описание группы проекта. Необязательный элемент.
/collection :CollectionURL URL-адрес коллекции проектов. Обязательный. Группа будет создана в коллекции проектов. Формат URL-адреса — http:// ServerName : port / VirtualDirectoryName / CollectionName

Комментарии

Выполните эту команду на сервере уровня приложений для Azure DevOps.

Группа уровня проекта — это группа безопасности для проекта. Группы проекта можно использовать для предоставления прав на чтение и запись, а также административных разрешений, которые соответствуют требованиям к безопасности данной организации.

Пример. Добавление группы безопасности в проект

В примере ниже выполняется создание группы для проекта, указанного URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000". Имя группы — "Тестовая группа", описание — "Это группа для тестирования".

Примечание

Примеры приводятся только для иллюстрации и являются вымышленными. Связь с реальными обстоятельствами является случайной.

Необходимо заменить заполнитель GUID универсальным кодом ресурса (URI) проекта, для которого требуется создать эту группу. Чтобы получить универсальный код ресурса (URI) для проекта, откройте командную Обозреватель, щелкните проект правой кнопкой мыши, выберите пункт Свойства и скопируйте все значение свойства URL-адреса.

После выполнения команды можно проверить группу в командной Обозреватель. Щелкните правой кнопкой мыши проект, который использовался в команде, выберите пункт Параметры проекта, а затем выберите пункт Членство в группах. В диалоговом окне Группы проекта в ИмяКомандногоПроекта список Группы должен включать тестовую группу.

Примечание

Вы можете использовать команду /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 , чтобы создать группу уровня сервера или коллекции. Сведения о создании группы уровня коллекции на веб-портале см. в статье Установка разрешений на уровне проекта или коллекции.

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

Предварительные требования

Чтобы использовать команду /gcg , необходимо иметь разрешение Изменение сведений на уровне проекта для этого проекта, которое имеет значение Разрешить. Дополнительные сведения см. в статье Справочник по группам безопасности и разрешениям.

Параметры

Аргумент Описание
GroupName Имя группы.
Описание группы Описание группы. Необязательный элемент.
/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. Аудиторы корпорации Датум".

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. Сведения об изменении разрешений с помощью веб-портала см. в статье Установка разрешений на уровне проекта или коллекции.

Пример. Удаление группы безопасности на уровне коллекции

В следующем примере группа удаляется из коллекции проектов. Группа определяется по идентификатору безопасности (SID) S-1-5-2127521184-1604012920-1887927527-588340. Дополнительные сведения о поиске идентификатора безопасности группы см. в разделе /im: отображение сведений об удостоверениях, составляющих прямое членство. Вы также можете использовать понятное имя для удаления группы.

Примечание

Примеры приводятся только для иллюстрации и являются вымышленными. Связь с реальными обстоятельствами является случайной.

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

/gud: изменение описания группы уровня сервера или уровня коллекции

Используйте параметр /gud , чтобы изменить описание группы уровня сервера или коллекции.

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

Предварительные требования

Чтобы использовать команду /gud , необходимо иметь разрешение Edit project-level information (Изменение сведений на уровне проекта) значение Разрешить. Дополнительные сведения см. в статье Справочник по группам безопасности и разрешениям.

Параметры

Аргумент Описание
GroupIdentity Задает удостоверение группы. Дополнительные сведения о допустимых описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
Описание группы Указывает новое описание группы.
/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 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 , необходимо иметь разрешение View collection-level information (Просмотр сведений на уровне коллекции) или View instance-level information (Просмотр сведений на уровне экземпляра) значение Allow (Разрешить) в зависимости от того, используется ли параметр /collection или /server соответственно. Дополнительные сведения см. в статье Справочник по группам безопасности и разрешениям.

Параметры

Аргумент Описание
Идентификация Удостоверение пользователя или группы приложений. Дополнительные сведения об описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
/collection :CollectionURL Требуется, если параметр /server не используется. Указывает URL-адрес коллекции проектов в следующем формате: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Требуется, если параметр /collection не используется. Указывает URL-адрес сервера уровня приложений в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Комментарии

Выполните эту команду на сервере уровня приложений для Azure DevOps.

Команда /i служебной программы командной строки TFSSecurity отображает сведения о каждой группе в коллекции проектов (/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: .

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.

В следующем примере отображаются сведения об удостоверениях для группы "Администраторы проекта" для проекта "Datum" с помощью описатель идентификатора adm: .

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.

Команда /imTFSSecurity отображает только прямых членов указанной группы. Этот список включает другие группы, являющиеся членами указанной группы. Однако фактические члены групп-членов не отображаются.

Пример. Отображение удостоверений членства для группы безопасности

В следующем примере отображаются сведения об удостоверениях прямого членства для группы "Администраторы Team Foundation" в домене "Datum1" в вымышленной компании "A. 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.

Пример. Отображение сведений об удостоверениях для группы безопасности

В следующем примере отображаются сведения об удостоверениях для группы "Администраторы коллекции проектов" в коллекции проектов "DatumOne" в домене "Datum1" вымышленной компании "A. Datum Corporation". Для этого используется спецификатор удостоверения adm:.

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.

Пример. Отображение сведений об удостоверениях для группы безопасности с помощью описателя удостоверений

В следующем примере отображаются сведения об удостоверениях для группы "Администраторы проекта" для проекта "Datum" в коллекции проектов "DatumOne" в домене "Datum1" в вымышленной компании "A". Datum Corporation". Для этого используется спецификатор удостоверения adm:.

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.

Команда /imxTFSSecurity отображает только развернутые члены указанной группы. В этот список включены не только другие группы, являющиеся членами указанной группы, но также члены групп-членов.

Пример. Отображение расширенных сведений о членстве для группы безопасности

В следующем примере отображаются сведения об удостоверениях расширенного членства для группы "Администраторы Team Foundation" в домене "Datum1" в вымышленной компании "A. 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.

В следующем примере отображаются сведения об удостоверениях для группы "Администраторы коллекции проектов" в коллекции проектов "DatumOne" в домене "Datum1" вымышленной компании "A. Datum Corporation". Для этого используется спецификатор удостоверения adm:.

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.

Пример. Отображение сведений об удостоверениях для группы безопасности с помощью описателя удостоверений

В следующем примере отображаются сведения об удостоверениях для группы "Администраторы проекта" для проекта "Datum" в коллекции проектов "DatumOne" в домене "Datum1" в вымышленной компании "A". Datum Corporation". Для этого используется спецификатор удостоверения adm:.

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. Дополнительные сведения см. в статье Справочник по группам безопасности и разрешениям.

Примечание

Даже если вход в систему выполнен с учетными данными администратора, для выполнения этой функции необходимо открыть окно командной строки с повышенными привилегиями.

Параметры

Аргумент Описание
GroupIdentity Задает удостоверение группы. Дополнительные сведения о допустимых описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
MemberIdentity Задает удостоверение члена группы. По умолчанию значением этого аргумента является удостоверение пользователя, выполняющего команду. Дополнительные сведения о допустимых описателях удостоверений см. в разделе Спецификаторы удостоверений далее в этой статье.
/collection :CollectionURL Требуется, если параметр /server не используется. Указывает URL-адрес коллекции проектов в следующем формате: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Требуется, если параметр /collection не используется. Указывает URL-адрес сервера уровня приложений в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Комментарии

Выполните эту команду на локальном компьютере уровня приложений.

Команда /m служебной программы командной строки TFSSecurity проверяет как прямое, так и расширенное членство.

Пример. Проверка членства пользователя в группе безопасности

В следующем примере проверяется, принадлежит ли пользователь "Datum1\jpeoples" к группе "Администраторы Team Foundation" уровня сервера.

Примечание

Примеры приводятся только для иллюстрации и являются вымышленными. Связь с реальными обстоятельствами является случайной.

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:[D omain]Name Ссылается на удостоверение с указанным именем. Для Windows имя — это имя учетной записи. Если указанное удостоверение находится в домене, необходимо указать доменное имя. Для групп приложений имя — это отображаемое имя группы, а Domain — URI или GUID содержащего проекта. В этом контексте, если параметр Domain пропущен, предполагается, что область находится на уровне коллекции. Для ссылки на удостоверение пользователя "John Peoples" в домене "Datum1" в вымышленной компании "A. Корпорация Датум:"

n:DATUM1\jpeoples

Чтобы ссылаться на группы приложений, выполните следующие действия.

n:"Штатные сотрудники"

n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Vendors
adm:[Scope] Ссылается на группу административных приложений для область, например "Администраторы Team Foundation" на уровне сервера или "Администраторы коллекции проектов" на уровне коллекции. Необязательный параметр Scope — это URI проекта или URL-адрес, включая его GUID и строка подключения. Если область опущен, предполагается, что область сервера или коллекции в зависимости от того, используется ли параметр /instance или /server. В любом случае двоеточие по-прежнему требуется. adm:vstfs:///Classification/TeamProject/ GUID
Srv: Ссылается на группу приложений для учетных записей служб. Неприменимо
Все: Ссылается на все группы и удостоверения. Неприменимо
Строка Ссылается на неквалифицированную строку. Если строка начинается с S-1-, она определяется как идентификатор безопасности. Если строка начинается с CN= или LDAP:// она определяется как различающееся имя. В противном случае строка определяется как имя. "Командные тестировщики"

Маркеры типов

Следующие маркеры используются для идентификации типов удостоверений и ACE в выходных сообщениях.

Маркеры типов удостоверений

Маркер типа удостоверения Описание
U Пользователь Windows.
G Группа Windows.
А Azure DevOps Server группу приложений.
a [ A ] Группа административных приложений.
s [ A ] Группа приложений учетной записи службы.
X Недопустимый идентификатор.
? Удостоверение неизвестно.

Маркеры входа управления доступом

Маркер входа управления доступом Описание
+ Разрешить управление доступом.
- Deny access control entry (Запретить управление доступом).
* [] Наследуемая запись управления доступом.