Compartir a través de


Uso de TFSSecurity para administrar grupos y permisos para Azure DevOps

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

Puede usar la herramienta de línea de comandos TFSSecurity para crear, modificar y eliminar grupos y usuarios en Azure DevOps Server y, además, modificar permisos para grupos y usuarios. Para obtener información sobre cómo realizar estas tareas en la interfaz de usuario, vea Agregar usuarios o grupos a un proyecto.

Importante

La herramienta de línea de comandos TFSSecurity está en desuso para su uso con Azure DevOps Services. Aunque TFSSecurity puede funcionar en algunos escenarios de Azure DevOps Services, este no cuenta con soporte. El método recomendado para realizar cambios en grupos de seguridad y permisos para Azure DevOps Services es usar el portal web, las herramientas de línea de comandos az devops security o az devops permission, o la API REST de Seguridad.

Ubicación de la herramienta de línea de comandos

Las herramientas de línea de comandos de Azure DevOps se instalan en el directorio /Tools de un servidor de nivel de aplicación de 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

Nota:

Incluso si ha iniciado sesión con credenciales administrativas, debe abrir un símbolo del sistema con privilegios elevados para realizar esta tarea.

Permisos

/a+: Agregar permisos

Use /a+ para agregar permisos para un usuario o un grupo en un grupo de nivel de servidor, de nivel de colección o de nivel de proyecto. Para agregar usuarios a grupos desde el portal web, consulte Establecimiento de permisos en el nivel de proyecto o colección.

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

Prerrequisitos

Para usar el comando /a+, debe tener el permiso Ver información de nivel de colección o el permiso Ver información de nivel de instancia configurado para Permitir, en función de si usa el parámetro /collection o /server, respectivamente. Si va a cambiar los permisos de un proyecto, también debe tener el permiso Editar información a nivel de proyecto configurado para permitir. Para obtener más información, vea Referencia de permisos y grupos.

Parámetros

Argumento Descripción
Namespace Espacio de nombres que contiene el grupo al que desea agregar permisos para un usuario o grupo. También puede usar el comando tfssecurity /a para ver una lista de espacios de nombres en el nivel de servidor, colección y proyecto.
identidad Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo.
  • CONCEDER
    El grupo o el usuario pueden realizar la operación que especifica la acción.
  • NEGAR
    El grupo o el usuario no pueden realizar la operación que especifica la acción.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

Las entradas de control de acceso son mecanismos de seguridad que determinan las operaciones que un usuario, grupo, servicio o equipo está autorizado para realizar.

Ejemplo: Mostrar espacios de nombres disponibles

En el ejemplo siguiente se muestra qué espacios de nombres están disponibles en el nivel de servidor para el servidor de nivel de aplicación denominado ADatumCorporation.

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

tfssecurity /a /server:ServerURL 

Salida del ejemplo:

    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.

Ejemplo: Mostrar acciones disponibles

En el siguiente ejemplo se muestran las acciones disponibles para el espacio de nombres a nivel de servidor en el nivel de la colección.

tfssecurity /a Server /collection:CollectionURL 

Salida del ejemplo:

    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.

Ejemplo: Asignación de un permiso de nivel de instancia

En el ejemplo siguiente se concede el permiso de ver información a nivel de instancia a nivel de servidor a la implementación de ADatumCorporation para el usuario del dominio Datum1 John Peoples (Datum1\jpeoples).

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

Salida del ejemplo:

    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.

Ejemplo: Asignar un permiso de nivel de colección

En el ejemplo siguiente, se concede el permiso de información de nivel de colección "View" a la colección de proyecto Collection0 para el usuario de dominio Datum1 John Peoples (Datum1\jpeoples).

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

Salida del ejemplo:

    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-: Quitar un usuario o un grupo de la membresía de un grupo

Use el comando /a- para quitar un usuario o un grupo de pertenencia a un grupo de nivel de servidor, de nivel de colección o de nivel de proyecto. Para quitar usuarios de grupos del portal web, consulte Eliminación de cuentas de usuario.

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

Prerrequisitos

Para usar el comando /a-, debe tener el permiso de Ver información a nivel de colección o el permiso de Ver información a nivel de instancia establecido en Permitir, dependiendo de si usa el parámetro /collection o /server, respectivamente. Si va a cambiar los permisos de un proyecto, también debe tener el permiso Editar información a nivel de proyecto configurado para permitir.

Parámetros

Argumento Descripción
Namespace El espacio de nombres que contiene el grupo para el cual desea eliminar permisos de un usuario o grupo. También puede usar el comando tfssecurity /a para ver una lista de espacios de nombres en el nivel de servidor, colección y proyecto.
identidad Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo.
  • CONCEDER
    El grupo o el usuario pueden realizar la operación que especifica la acción.
  • NEGAR
    El grupo o el usuario no pueden realizar la operación que especifica la acción.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

Las entradas de control de acceso son mecanismos de seguridad que determinan las operaciones que un usuario, grupo, servicio o equipo está autorizado para realizar en un equipo o servidor.

Ejemplo: Mostrar espacios de nombres de nivel de servidor

En el ejemplo siguiente se muestra qué espacios de nombres están disponibles en el nivel de servidor para el servidor de nivel de aplicación denominado ADatumCorporation.

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

tfssecurity /a /server:ServerURL 

Salida del ejemplo:

    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.

Ejemplo: Mostrar acciones disponibles de nivel de colección

En el ejemplo siguiente se muestran las acciones disponibles para el espacio de nombres del servidor en el nivel de colección.

tfssecurity /a Server /collection:CollectionURL 

Salida del ejemplo:

    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.

Ejemplo: Quitar un permiso de nivel de instancia

En el ejemplo siguiente se quita el permiso Ver información de nivel de instancia a nivel de servidor para la implementación de ADatumCorporation para el usuario de dominio Datum1 John Peoples (Datum1\jpeoples).

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

Salida del ejemplo:

    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.

Ejemplo: Quitar un permiso de nivel de colección

En el ejemplo siguiente se quita el permiso de información de nivel de colección View de nivel de colección a la colección de proyectos Collection0 para el usuario de dominio Datum1 John Peoples (Datum1\jpeoples).

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

Salida del ejemplo:

    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: Mostrar la lista de control de acceso

Use /acl para mostrar la lista de control de acceso que se aplica a un objeto determinado.

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

Prerrequisitos

Para usar el comando /acl , debe tener la información de nivel de colección Ver o el permiso Ver información de nivel de instancia establecido en Permitir, en función de si usa el parámetro /collection o /server , respectivamente. Para más información, consulte Referencia de permisos para Azure DevOps Server.

Parámetros

Argumento Descripción
Namespace El espacio de nombres que contiene el grupo para el que desea ver los permisos de un usuario o grupo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

Las entradas de control de acceso son mecanismos de seguridad que determinan las operaciones que un usuario, grupo, servicio o equipo está autorizado para realizar en un equipo o servidor.

Ejemplo: Enumeración de asignaciones de ACL a un espacio de nombres de nivel de servidor

En el ejemplo siguiente se muestra qué usuarios y grupos tienen acceso al token FrameworkGlobalSecurity en el espacio de nombres del servidor dentro de la implementación de ADatumCorporation.

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL 

Salida del ejemplo:

	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.

Grupos

/g: Enumerar los grupos

Use /g para enumerar los grupos de un proyecto, en una colección de proyectos o en Azure DevOps Server.

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

Prerrequisitos

Para usar el comando /g, debe tener el permiso para Ver información de nivel de colección o de nivel de instancia establecido en Permitir, dependiendo de si utiliza el parámetro /collection o /server, respectivamente. Para usar el comando /g dentro del ámbito de un solo proyecto, debe tener el permiso Ver información de nivel de proyecto establecido en Permitir. Para obtener más información, vea Referencia de permisos y grupos.

Parámetros

Argumento Descripción
alcance Opcional. Especifica el URI del proyecto para el que desea mostrar grupos. Para obtener el URI de un proyecto, abra Team Explorer, haga clic con el botón derecho en el proyecto, haga clic en Propiedades y copie toda la entrada de la dirección URL.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

El comando /g de la utilidad de línea de comandos TFSSecurity muestra información sobre cada grupo dentro del ámbito seleccionado. Este ámbito puede ser la colección de proyectos (/servidor) o el servidor de nivel de aplicación (/instancia). Si se usa con el ámbito de un proyecto, solo mostrará información sobre los grupos asociados a ese proyecto.

Ejemplo: Mostrar información de grupo de nivel de colección

En el ejemplo siguiente se muestra información de todos los grupos de una colección de proyectos.

tfssecurity /g /collection:CollectionURL

/g+: Agregar un usuario u otro grupo a un grupo existente

Use /g+ para agregar un usuario u otro grupo a un grupo existente.

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

Prerrequisitos

Para usar el comando /g+, debe tener los permisos de ver y editar la información a nivel de colección establecidos en Permitir o los permisos de ver y editar la información a nivel de instancia establecidos en Permitir, dependiendo de si está usando el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
identidad de grupo Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
identidad del miembro Especifica la identidad del miembro. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

También puede agregar usuarios y grupos a un grupo existente mediante Team Explorer. Para obtener más información, vea Establecer permisos en el nivel de proyecto o colección.

Ejemplo: Agregar un usuario a un grupo de nivel de servidor

En el ejemplo siguiente se agrega el usuario de dominio Datum1 John Peoples (Datum1\jpeoples) al grupo Administradores de Team Foundation.

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Salida del ejemplo:

    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-: Quitar un usuario o grupo

Use /g- para quitar un usuario o un grupo de usuarios de un grupo existente.

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

Prerrequisitos

Para usar el comando /g-, debe tener los permisos de Ver información al nivel de colección y Editar información al nivel de colección, o los permisos de Ver información al nivel de instancia y Editar información al nivel de instancia, establecidos en 'Permitir', dependiendo de si usa el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
identidad de grupo Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
identidad del miembro Especifica la identidad del miembro. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

También puede agregar usuarios y grupos a un grupo existente mediante Team Explorer. Para obtener más información, vea Quitar usuarios de un grupo de proyectos o Establecer permisos en el nivel de proyecto o colección.

Ejemplo: Quitar un usuario de un grupo de nivel de servidor

En el ejemplo siguiente se quita el usuario de dominio Datum1 John Peoples (Datum1\jpeoples) del grupo Administradores de Team Foundation.

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Salida del ejemplo:

    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: Crear un grupo de nivel de proyecto

Use /gc en un símbolo del sistema para crear un grupo de nivel de proyecto. Para crear un grupo de nivel de proyecto a partir de la interfaz de usuario, consulte Administrar usuarios o grupos.

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

Prerrequisitos

Para usar el comando /gc , debe tener el permiso Editar Project-Level información para ese proyecto establecido en Permitir. Para obtener más información, vea Referencia de permisos.

Parámetros

Argumento Descripción
Ámbito Identificador URI del proyecto al que desea agregar un grupo a nivel de proyecto. Para obtener el URI de un proyecto, conéctese a él y abra Team Explorer, mantenga el puntero sobre el nombre del proyecto en Inicio y lea la dirección. Como alternativa, conéctese al proyecto en Web Access y copie la dirección URL.
Nombre del Grupo Nombre del nuevo grupo.
GroupDescription Descripción del grupo de proyectos. Opcional.
/collection :CollectionURL Dirección URL de la colección de proyectos. Obligatorio. El grupo se creará dentro de la colección de proyectos. El formato de la dirección URL es http:// ServerName: Port / VirtualDirectoryName CollectionName /

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

Un grupo de nivel de proyecto es un grupo de seguridad para el proyecto. Puede usar grupos de proyectos para conceder permisos de lectura, escritura y administrativos que cumplan los requisitos de seguridad de su organización.

Ejemplo: Agregar un grupo de seguridad a un proyecto

En el ejemplo siguiente se crea un grupo específico del proyecto que especifica el URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000". El grupo se denomina "Grupo de pruebas" y tiene la descripción "Este grupo es para pruebas".

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

Debe reemplazar el marcador GUID con el URI del proyecto para el que desea crear este grupo. Para obtener el URI de un proyecto, abra Team Explorer, haga clic con el botón derecho en el proyecto, haga clic en Propiedades y copie el valor completo de la propiedad URL.

Después de ejecutar el comando, puede comprobar el grupo en Team Explorer. Haga clic con el botón derecho en el proyecto que usó en el comando, haga clic en Configuración del proyecto y, a continuación, haga clic en Pertenencias a grupos. En el cuadro de diálogo Grupos de proyectos en TeamProjectName , la lista Grupos incluye Grupo de pruebas .

Nota:

Puede usar el comando /gc para crear grupos, pero no para agregar usuarios a los grupos o asignar permisos. Para cambiar la pertenencia del grupo, vea /g+: Agregar un usuario u otro grupo a un grupo existente y /g-: Quitar un usuario o grupo. Para cambiar los permisos del grupo, vea /a+: Agregar permisos y /a-: Quitar un usuario o un grupo de pertenencia a un grupo.

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: Crear un grupo a nivel de servidor o de colección

Use el comando /gcg para crear un grupo de nivel de servidor o de colección. Para crear un grupo de nivel de colección desde el portal web, consulte Establecimiento de permisos en el nivel de proyecto o colección.

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

Prerrequisitos

Para usar el comando /gcg , debe tener el permiso Editar información de nivel de proyecto para ese proyecto establecido en Permitir. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
Nombre del Grupo Nombre del grupo.
GroupDescription Descripción del grupo. Opcional.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

Los grupos de nivel de servidor se crean directamente en el nivel de aplicación y se aplican a todas las colecciones de proyectos. El nivel de colección se crea en el nivel de colección del proyecto. Se aplican a esa colección y tienen implicaciones para todos los proyectos de la colección. En cambio, los grupos de proyectos se aplican a un proyecto específico dentro de una colección, pero no a ningún otro proyecto de esa colección. Puede asignar permisos a grupos de nivel de servidor para que los miembros de esos grupos puedan realizar tareas en Azure DevOps Server, como la creación de colecciones de proyectos. Puede asignar permisos a grupos de nivel de colección para que los miembros de esos grupos puedan realizar tareas en una colección de proyectos, como administrar usuarios.

Nota:

Puede usar el comando /gcg para crear grupos, pero no puede usarlo para agregar usuarios a los grupos ni asignar permisos. Para obtener información sobre cómo cambiar la pertenencia de un grupo, vea /g+: Agregar un usuario u otro grupo a un grupo existente y /g-: Quitar un usuario o grupo. Para obtener información sobre cómo cambiar los permisos del grupo, vea /a+: Agregar permisos y /a-: Quitar un usuario o un grupo de pertenencia a un grupo.

Ejemplo: Agregar un grupo de seguridad a nivel de colección

En el ejemplo siguiente se crea un grupo de nivel de colección denominado "Datum Testers" con la descripción "A. Datum Corporation Testers."

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

En el ejemplo siguiente se crea un grupo de nivel de servidor denominado "Datum Auditors" con la descripción "A. Auditores de Datum Corporation."

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

/gd: Eliminar un servidor o un grupo de nivel de colección

Use /gd para eliminar un grupo de nivel de servidor o de colección.

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

Prerrequisitos

Para usar el comando /gd , debe tener la información de nivel de colección Ver y Editar información de nivel de colección o ver información de nivel de instancia y Editar información de nivel de instancia establecida en Permitir, dependiendo de si usa el parámetro /collection o /server , respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
identidad de grupo Especifica la identidad del grupo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps. Para modificar los permisos a través del portal web, consulte Establecimiento de permisos en el nivel de proyecto o colección.

Ejemplo: Eliminación de un grupo de seguridad de nivel de colección

En el ejemplo siguiente se elimina un grupo de la colección de proyectos. El grupo se identifica mediante "S-1-5-21-2127521184-1604012920-1887927527-588340", el identificador de seguridad (SID). Para obtener más información sobre cómo buscar el SID de un grupo, vea /im: Mostrar información sobre las identidades que componen la pertenencia directa. También puede usar el nombre descriptivo para eliminar un grupo.

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

/gud: Cambiar la descripción de un grupo a nivel de servidor o colección

Use /gud para cambiar la descripción de un grupo de nivel de servidor o de colección.

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

Prerrequisitos

Para usar el comando /gud , debe tener el permiso Editar información de nivel de proyecto establecido en Permitir. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
Identidad del Grupo Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
GroupDescription Especifica la nueva descripción del grupo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

Ejemplo: Agregar una descripción a un grupo de seguridad

En el ejemplo siguiente se asocia la descripción "Los miembros de este grupo prueban el código de este proyecto" con el grupo "Datum Testers".

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

/gun: Cambiar el nombre de un grupo

Use /gun para cambiar el nombre de un grupo de nivel de servidor o de nivel de colección.

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

Prerrequisitos

Para usar el comando /gun, debe tener los permisos de Ver información de nivel de colección y Editar información de nivel de colección, o Ver información de nivel de instancia y Editar información de nivel de instancia establecidos en Permitir, dependiendo de si está utilizando el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
Identidad del Grupo Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
Nombre del Grupo Especifica el nuevo nombre del grupo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

Ejemplo: Cambiar el nombre de un grupo de seguridad

En el ejemplo siguiente se cambia el nombre del grupo de nivel de colección "A. De «Datum Corporation Testers» a «A». Ingenieros de pruebas de Datum Corporation".

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Identidades y pertenencia

/i: Mostrar información de identidad para un grupo especificado

Use /i para mostrar la información de identidad de un grupo especificado en una implementación de Azure DevOps Server.

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

Prerrequisitos

Para usar el comando /i, debe tener el permiso para Ver información a nivel de colección o la información de la instancia -level configurado en Permitir, dependiendo de si utiliza el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
identidad Identidad del usuario o del grupo de aplicaciones. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

El comando /i de la utilidad de línea de comandos TFSSecurity muestra información sobre cada grupo dentro de la colección de proyectos (/servidor) o el servidor de nivel de aplicación (/instancia). No muestra ninguna información de pertenencia.

Ejemplo: Enumerar la información de identidad de un grupo de seguridad

En el ejemplo siguiente se muestra información de identidad para el grupo "Administradores de Team Foundation".

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Salida del ejemplo:

    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.

Ejemplo: Mostrar información de identidad para un grupo de seguridad

En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de la colección de proyectos mediante el especificador de identidad adm: .

tfssecurity /i adm: /collection:CollectionURL 

Salida del ejemplo:

    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.

En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de proyectos para el proyecto "Datum" mediante el especificador de identidad adm: .

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

Salida del ejemplo:

    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: Mostrar información sobre las identidades que componen la afiliación directa

Use /im para mostrar información sobre las identidades que componen la pertenencia directa de un grupo que especifique.

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

Prerrequisitos

Para usar el comando /im, debe tener el permiso Ver información a nivel de colección o Ver información a nivel de instancia establecido en Permitir, dependiendo de si está utilizando el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
identidad Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

El comando /im de TFSSecurity muestra solo los miembros directos del grupo especificado. Esta lista incluye otros grupos que son miembros del grupo especificado. Sin embargo, los miembros reales de los grupos de miembros no aparecen en la lista.

Ejemplo: Mostrar identidades de pertenencia para un grupo de seguridad

En el ejemplo siguiente se muestra información de identidad de pertenencia directa para el grupo "Administradores de Team Foundation" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation".

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Salida del ejemplo:

    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.

Ejemplo: Mostrar información de identidad para un grupo de seguridad

En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de colecciones de proyectos en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation" mediante el especificador adm: identity.

tfssecurity /im adm: /collection:CollectionURL 

Salida del ejemplo:

    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.

Ejemplo: Mostrar información de identidad para un grupo de seguridad mediante un especificador de identidad

En el ejemplo siguiente se muestra información de identidad para el grupo Administradores del proyecto "Datum" en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". "Datum Corporation" utilizando el especificador de identidad adm:.

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

Salida del ejemplo:

    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: mostrar información sobre las identidades que tiene la membresía expandida

Use /imx para mostrar información sobre las identidades que componen la pertenencia expandida de un grupo especificado.

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

Prerrequisitos

Para usar el comando /imx, debe tener el permiso Ver información a nivel de colección o a nivel de instancia configurado en Permitir, dependiendo de si usa el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
identidad Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.

El comando /imx de TFSSecurity muestra solo los miembros expandidos del grupo especificado. Esta lista incluye no solo otros grupos que son miembros del grupo especificado, sino también los miembros de los grupos de miembros.

Ejemplo: Mostrar información de pertenencia expandida para un grupo de seguridad

En el ejemplo siguiente se muestra información de identidad de pertenencia expandida para el grupo "Administradores de Team Foundation" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation".

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Salida del ejemplo:

    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.

En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de colecciones de proyectos en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". "Datum Corporation" utilizando el especificador de identidad adm:.

tfssecurity /imx adm: /collection:CollectionURL 

Salida del ejemplo:

    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.

Ejemplo: Mostrar información de identidad para un grupo de seguridad mediante un especificador de identidad

En el ejemplo siguiente se muestra información de identidad para el grupo Administradores del proyecto "Datum" en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". "Datum Corporation" utilizando el especificador de identidad adm:.

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

Salida del ejemplo:

    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.

Para obtener más información sobre los especificadores de salida, como [G] y [U], vea Especificadores de identidad más adelante en este artículo.

/m: Comprobación de la pertenencia explícita e implícita a grupos

Use /m para comprobar la información de pertenencia a grupos explícita e implícita de un grupo o usuario especificado.

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

Prerrequisitos

Para usar el comando /m , debe ser miembro del grupo de seguridad Administradores de Team Foundation. Para más información, consulte Referencia de permisos y grupos de seguridad.

Nota:

Incluso si ha iniciado sesión con credenciales administrativas, debe abrir un símbolo del sistema con privilegios elevados para realizar esta tarea.

Parámetros

Argumento Descripción
Identidad del Grupo Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
Identidad de Miembro Especifica la identidad del miembro. De forma predeterminada, el valor de este argumento es la identidad del usuario que ejecuta el comando. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName

Observaciones

Ejecute este comando en el equipo local de nivel de aplicación.

El comando /m de la utilidad de línea de comandos TFSSecurity comprueba las pertenencias directas y extendidas.

Ejemplo: Comprobación de la pertenencia de un usuario en un grupo de seguridad

En el ejemplo siguiente se comprueba si el usuario "Datum1\jpeoples" pertenece al grupo de nivel de servidor Administradores de Team Foundation.

Nota:

Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Salida del ejemplo:

    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.

Espacios de nombres de seguridad

Nota:

Los espacios de nombres y los tokens son válidos para todas las versiones de Azure DevOps. Los espacios de nombres están sujetos a cambios a lo largo del tiempo. Para obtener la lista más reciente de espacios de nombres, utilice alguna de las herramientas de línea de comandos o la API REST. Algunos espacios de nombres se han quedado en desuso. Para obtener más información, consulte Referencia de permisos y espacio de nombres de seguridad.

Especificadores de identidad

Puede hacer referencia a una identidad mediante una de las notaciones de la tabla siguiente.

Especificador de identidad Descripción Ejemplo
Sid: Sid. Hace referencia a la identidad que tiene el identificador de seguridad (SID) especificado. sid:S-1-5-21-2127521184-1604012920-1887927527-588340
n:[Dominio]Nombre Hace referencia a la identidad que tiene el nombre especificado. Para Windows, Name es el nombre de la cuenta. Si la identidad a la que se hace referencia está en un dominio, se requiere el nombre de dominio. En el caso de los grupos de aplicaciones, Name es el nombre para mostrar del grupo y Domain es el URI o GUID del proyecto contenedor. En este contexto, si se omite Domain, se supone que el ámbito está en el nivel de colección. Para hacer referencia a la identidad del usuario "John Peoples" en el dominio "Datum1" en la empresa ficticia "A". Datum Corporation:"

n:DATUM1\jpeoples

Para hacer referencia a grupos de aplicaciones:

n:"Empleados a tiempo completo"

n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Vendors
adm:[Scope] Hace referencia al grupo de aplicaciones administrativas para el ámbito, como "Administradores de Team Foundation" para el nivel de servidor o "Administradores de colecciones de proyectos" en el nivel de colección. El parámetro opcional Scope es un URI o dirección URL del proyecto, incluido su GUID y la cadena de conexión. Si se omite el ámbito, se supone que el ámbito de servidor o colección se basa en si se usa el parámetro /instance o /server. En cualquier caso, los dos puntos siguen siendo necesarios. adm:vstfs:///Classification/TeamProject/ GUID
srv: Hace referencia al grupo de aplicaciones para cuentas de servicio. No aplicable
todo: Hace referencia a todos los grupos e identidades. No aplicable
Cuerda Hace referencia a una cadena no calificada. Si String comienza con S-1-, se identifica como un SID. Si String comienza con CN= o LDAP:// se identifica como un nombre distintivo. De lo contrario, String se identifica como un nombre. "Evaluadores de equipo"

Marcadores de tipo

Los siguientes marcadores se usan para identificar tipos de identidades y ACE en los mensajes de salida.

Marcadores de tipo de identidad

Marcador de tipo de identidad Descripción
U Usuario de Windows.
G Grupo de Windows.
A Grupo de aplicaciones de Azure DevOps Server.
a [ A ] Grupo de aplicaciones administrativas.
s [ A ] Grupo de aplicaciones de cuenta de servicio.
X La identidad no es válida.
? La identidad es desconocida.

Mecanismos de registro de control de acceso

Marcador de entrada de control de acceso Descripción
+ PERMITIR la entrada del control de acceso.
- Denegar entrada de control de acceso.
* [] Entrada de control de acceso heredada.