Поделиться через


Использование TFSSecurity для управления группами и разрешениями для Azure DevOps

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

С помощью средства командной строки TFSSecurity можно создавать, изменять и удалять группы и пользователей в Azure DevOps Server, а также изменять разрешения для групп и пользователей. Сведения о выполнении этих задач в пользовательском интерфейсе см. в разделе "Добавление пользователей или групп в проект".

Это важно

Средство командной строки TFSSecurity устарело для использования с Azure DevOps Services. Хотя TFSSecurity может работать для некоторых сценариев Azure DevOps Services, он не поддерживается. Рекомендуемый метод внесения изменений в группы безопасности и разрешения для Azure DevOps Services — это использование веб-портала, инструментов командной строки az devops security или az devops permission, или Security 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:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Требуется, если /collection не используется. Указывает URL-адрес сервера уровня приложения в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Замечания

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

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

Пример: Отображение доступных пространств имен

В следующем примере показано, какие пространства имен доступны на уровне сервера для сервера уровня приложений, который называется ADatumCorporation.

Замечание

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

tfssecurity /a /server:ServerURL 

Образец вывода:

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

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

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

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

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

В следующем примере показано, какие действия доступны для пространства имен уровня сервера на уровне коллекции.

tfssecurity /a Server /collection:CollectionURL 

Образец вывода:

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

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

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

    Done.

Пример: Назначение разрешения на уровне экземпляра

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

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

Образец вывода:

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

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    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 Джону Пиплсу (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- для удаления пользователя или группы из членства в группе уровня сервера, уровня коллекции или уровня проекта. Чтобы удалить пользователей из групп на веб-портале, см. статью "Удалить учетные записи пользователей".

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

Предпосылки

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

Параметры

Аргумент Описание
Пространство имен Пространство имен, содержащее группу, для которой вы хотите удалить разрешения пользователя или группы. Вы также можете использовать команду tfssecurity /a для просмотра списка пространств имен на уровне сервера, коллекции и проекта.
Идентичность Идентичность пользователя или группы. Дополнительные сведения об идентификаторах личности см. далее в этой статье.
  • РАЗРЕШАТЬ
    Группа или пользователь могут выполнять операцию, указанную действием.
  • DENY
    Группа или пользователь не могут выполнить операцию, указанную действием.
/collection :CollectionURL Требуется, если /server не используется. Указывает URL-адрес коллекции проектов в следующем формате: http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Требуется, если /collection не используется. Указывает URL-адрес сервера уровня приложения в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Замечания

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

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

Пример. Отображение пространств имен уровня сервера

В следующем примере показано, какие пространства имен доступны на уровне сервера для сервера уровня приложений, который называется ADatumCorporation.

Замечание

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

tfssecurity /a /server:ServerURL 

Образец вывода:

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

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

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

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

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

В следующем примере показаны действия, доступные для пространства имен сервера на уровне коллекции.

tfssecurity /a Server /collection:CollectionURL 

Образец вывода:

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

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

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

    Done.

Пример: Удаление разрешения на уровне экземпляра

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

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

Образец вывода:

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

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

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

    Done.

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

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

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

Образец вывода:

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

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

    Done.

/acl: отображение списка управления доступом

Используйте /acl для отображения списка управления доступом, который применяется к конкретному объекту.

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

Предпосылки

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

Параметры

Аргумент Описание
Пространство имен Пространство имен, содержащее группу, для которой вы хотите просмотреть разрешения для пользователя или группы.
/collection :CollectionURL Требуется, если /server не используется. Указывает URL-адрес коллекции проектов в следующем формате: http:// ServerName : Port / VirtualDirectoryName CollectionName /
/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) для проекта, откройте Team Explorer, щелкните правой кнопкой мыши проект, щелкните "Свойства" и скопируйте всю запись для URL-адреса.
/collection :CollectionURL Требуется, если /server не используется. Указывает URL-адрес коллекции проектов в следующем формате: http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Требуется, если /collection не используется. Указывает URL-адрес сервера уровня приложения в следующем формате: http:// ServerName : Port / VirtualDirectoryName

Замечания

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

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

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

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

tfssecurity /g /collection:CollectionURL

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

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

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

Предпосылки

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

Параметры

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

Замечания

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

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

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

В следующем примере пользователь домена Datum1 John Peoples (Datum1\jpeoples) добавляется в группу администраторов Team Foundation.

Замечание

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

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 Explorer. Дополнительные сведения см. в разделе "Удаление пользователей из группы проектов " или "Установка разрешений" на уровне проекта или коллекции.

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

В следующем примере удаляется пользователь домена Datum1 John Peoples (Datum1\jpeoples) из группы администраторов Team Foundation.

Замечание

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

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

Параметры

Аргумент Описание
Область действия Универсальный код ресурса (URI) проекта, в который требуется добавить группу на уровне проекта. Чтобы получить универсальный код ресурса (URI) для проекта, подключитесь к нему и откройте Team Explorer, наведите указатель мыши на имя проекта в домашней среде и прочитайте адрес. Кроме того, подключитесь к проекту в Web Access и скопируйте URL-адрес.
Имя группы Имя новой группы.
ОписаниеГруппы Описание группы проектов. Необязательно.
/collection :CollectionURL URL-адрес коллекции проектов. Обязательное. Группа будет создана в коллекции проектов. Формат URL-адреса — http:// ServerName: Port / VirtualDirectoryName CollectionName /

Замечания

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

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

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

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

Замечание

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

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

После выполнения команды можно проверить группу в Team Explorer. Щелкните правой кнопкой мыши проект, используемый в команде, щелкните "Параметры проекта" и выберите пункт "Членство в группах". В диалоговом окне "Группы проектов" в 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 , чтобы создать группу уровня сервера или уровня коллекции. Сведения о создании группы уровня коллекции на веб-портале см. в разделе "Настройка разрешений" на уровне проекта или коллекции.

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

Предпосылки

Чтобы использовать команду /gcg, необходимо иметь разрешение на редактирование информации на уровне проекта и установить для него значение Разрешить. Дополнительные сведения см. в разделе "Группы безопасности" и справочник по разрешениям.

Параметры

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

Замечания

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

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

Замечание

Для создания групп можно использовать команду /gcg , но ее нельзя использовать для добавления пользователей в группы или назначения разрешений. Сведения об изменении членства в группе см. в разделе /g+: Добавление пользователя или другой группы в существующую группу и /g-: удаление пользователя или группы. Сведения об изменении разрешений для группы см. в разделе /a+: Добавление разрешений и /a-: удаление пользователя или группы из членства в группе.

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

В следующем примере создается группа уровня коллекции, которая называется "Datum Testers" с описанием "A". Datum Corporation Testers".

Замечание

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

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

В следующем примере создается группа уровня сервера с названием "Аудиторы Датум" с описанием "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. Сведения об изменении разрешений на веб-портале см. в разделе "Настройка разрешений" на уровне проекта или коллекции.

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

В следующем примере удаляется группа из коллекции проектов. Группа определяется "S-1-5-21-212752184-1604012920-18879277-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, необходимо иметь разрешение на изменение сведений на уровне проекта, установленное в состояние "Разрешено". Дополнительные сведения см. в разделе "Группы безопасности" и справочник по разрешениям.

Параметры

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

Замечания

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

Пример: Добавьте описание к группе безопасности

Следующий пример связывает описание "Члены этой группы тестируют код для этого проекта" с группой "Datum Testers".

Замечание

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

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

/gun: переименование группы

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

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

Предпосылки

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

Параметры

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

Замечания

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

Пример: переименование группы безопасности

В следующем примере группа на уровне коллекции "A" переименовывается. Datum Corporation Testers" на "A. Инженеры тестирования Datum Corporation".

Замечание

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

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

Удостоверения и членство

/i: отображение сведений об идентификации для указанной группы

Используйте /i для отображения информации о личности для указанной группы в развертывании Azure DevOps Server.

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

Предпосылки

Чтобы использовать команду /i, необходимо иметь разрешение на просмотр информации уровня коллекции или информации экземпляра -level, установлено на "Разрешить", в зависимости от того, используется ли параметр /collection или /server соответственно. Дополнительные сведения см. в разделе "Группы безопасности" и справочник по разрешениям.

Параметры

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

Замечания

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

Команда /i служебной программы командной строки TFSSecurity отображает сведения о каждой группе в коллекции проектов (/сервере) или сервере уровня приложения (/экземпляре). Он не отображает никаких сведений о членстве.

Пример: Перечислить информацию о пользователях для группы безопасности

В следующем примере отображается идентификационная информация для группы "Администраторы 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 Administrators. Дополнительные сведения см. в разделе "Группы безопасности" и справочник по разрешениям.

Замечание

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

Параметры

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

Замечания

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

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

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

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

Замечание

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

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

Образец вывода:

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

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

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

    Done.

Пространства имен безопасности

Замечание

Пространства имен и токены действительны для всех версий Azure DevOps. Пространства имен могут изменяться с течением времени. Чтобы получить последний список пространств имен, выполните одно из средств командной строки или REST API. Некоторые пространства имен признаны устаревшими. Дополнительные сведения см. в разделе «Пространство имен безопасности и справочник по разрешениям».

Спецификаторы идентификации

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

Идентификатор сущности Описание Пример
SID: SID. Ссылается на удостоверение с указанным идентификатором безопасности (SID). sid:S-1-5-21-2127521184-1604012920-1887927527-588340
n:[Домен]Имя Ссылается на удостоверение с указанным именем. Для Windows имя означает имя учетной записи. Если указанное удостоверение находится в домене, требуется доменное имя. Для групп приложений имя — отображаемое имя группы, а домен — URI или GUID содержащего проекта. В этом контексте, если Домен опущен, предполагается, что область действия находится на уровне коллекции. Чтобы сослаться на удостоверение личности пользователя "John Peoples" в домене "Datum1" в вымышленной компании "A." Datum Corporation:"

n:DATUM1\jpeoples

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

n:"Сотрудники с полным временем"

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

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

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

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

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

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

Маркер элемента управления доступом Описание
+ РАЗРЕШИТЬ запись управления доступом.
- ЗАПРЕТить запись управления доступом.
* [] Наследуемая запись управления доступом.