Uso de TFSSecurity para administrar grupos y permisos para Azure DevOps

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

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 ha quedado en desuso para su uso con Azure DevOps Services. Aunque TFSSecurity puede funcionar en algunos escenarios de Azure DevOps Services, no se admite. El método recomendado para realizar cambios en los grupos de seguridad y los permisos para Azure DevOps Services es mediante el portal web, la seguridad az devops o az devops permission command line tools 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

Aunque haya iniciado sesión con credenciales administrativas, debe abrir un símbolo del sistema con privilegios elevados para realizar esta función.

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]

Requisitos previos

Para usar el comando /a+ , debe tener la información de nivel de colección Ver o el permiso Ver información de nivel de instancia en 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 de nivel de proyecto para el proyecto establecido en Permitir. Para obtener más información, vea Referencia de permisos y grupos.

Parámetros

Argumento Descripción
Espacio de nombres Espacio de nombres que contiene el grupo al que desea agregar los 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 el 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.
  • DENY
    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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 qué operaciones está autorizado a realizar un usuario, grupo, servicio o equipo.

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 capa de aplicación denominado ADatumCorporation.

Nota

Los ejemplos tienen solo propósitos ilustrativos y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

tfssecurity /a /server:ServerURL 

Resultados 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 ejemplo siguiente se muestran las acciones disponibles para el espacio de nombres de nivel de servidor en el nivel de colección.

tfssecurity /a Server /collection:CollectionURL 

Resultados 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 información de nivel de instancia view de nivel de servidor a 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 

Resultados 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: Asignación de un permiso de nivel de colección

En el ejemplo siguiente se concede 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

Resultados 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 pertenencia a 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]

Requisitos previos

Para usar el comando /a- , debe tener la información de nivel de colección Ver o el permiso Ver información de nivel de instancia establecido en Permitir, dependiendo de si está usando 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 de nivel de proyecto para el proyecto establecido en Permitir.

Parámetros

Argumento Descripción
Espacio de nombres Espacio de nombres que contiene el grupo al que desea quitar los 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 el 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.
  • DENY
    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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 qué operaciones está autorizado a realizar un equipo, servicio, grupo o usuario en un equipo o un servidor.

Ejemplo: Mostrar espacios de nombres de nivel de servidor

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

Nota

Los ejemplos tienen solo propósitos ilustrativos y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

tfssecurity /a /server:ServerURL 

Resultados 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 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 

Resultados 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: Eliminación de un permiso de nivel de instancia

En el ejemplo siguiente se quita el permiso de información de nivel de instancia view de nivel de servidor a 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 

Resultados 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

Resultados 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]

Requisitos previos

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 obtener más información, consulte Referencia de permisos para Azure DevOps Server.

Parámetros

Argumento Descripción
Espacio de nombres Espacio de nombres que contiene el grupo al 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 qué operaciones está autorizado a realizar un equipo, servicio, grupo o usuario en un equipo o un 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 tienen solo propósitos ilustrativos y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL 

Resultados 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: Enumeración de los grupos

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

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

Requisitos previos

Para usar el comando /g , debe tener la información de nivel de colección Ver o el permiso Ver información de nivel de instancia establecido en Permitir, dependiendo de si usa 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
scope Opcional. Especifica el URI del proyecto para el que desea mostrar los 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 capa 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]

Requisitos previos

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

Parámetros

Argumento Descripción
groupIdentity 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.
memberIdentity Especifica la identidad de 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 siguiente ejemplo se agrega el usuario John Peoples del dominio Datum1 (Datum1\jpeoples) al grupo Administradores de Team Foundation.

Nota

Los ejemplos tienen solo propósitos ilustrativos 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

Resultados 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]

Requisitos previos

Para usar el comando /g- , debe tener la información de nivel de colección View y Edit collection-level information o the View instance-level information and Edit instance-level information set to Allow, dependiendo de si está usando el parámetro /collection o /server , respectivamente. Para obtener más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
groupIdentity 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.
memberIdentity Especifica la identidad de 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 en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 siguiente ejemplo se quita el usuario John Peoples del dominio Datum1 (Datum1\jpeoples) del grupo Administradores de Team Foundation.

Nota

Los ejemplos tienen solo propósitos ilustrativos 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

Resultados 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 desde la interfaz de usuario, consulte Administrar usuarios o grupos.

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

Requisitos previos

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 URI del proyecto al que desea agregar un grupo de 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.
NombreDeGrupo El nombre del nuevo grupo.
GroupDescription Descripción del grupo de proyecto. Opcional.
/collection :CollectionURL Dirección URL de la colección de proyectos. Necesario. El grupo se creará dentro de la colección de proyectos. El formato de la dirección URL es http:// ServerName : Port / VirtualDirectoryName / CollectionName

Comentarios

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 utilizar grupos de proyecto para conceder permisos de lectura, escritura y administración que cumplan con los requisitos de seguridad de su organización.

Ejemplo: Agregar un grupo de seguridad a un proyecto

En el siguiente ejemplo se crea un grupo especifico para el proyecto que especifica el URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000". El grupo se denomina "Test Group" y en su descripción se indica que se trata de un grupo para pruebas.

Nota

Los ejemplos tienen solo propósitos ilustrativos y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

Debe reemplazar el GUID del marcador de posición por 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 proyectoy, a continuación, haga clic en Pertenencias a grupos. En Grupos de proyecto, en el cuadro de diálogo NombreDeProyectoDeEquipo, la lista Grupos incluye el grupo de prueba.

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 de nivel de servidor o 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]`

Requisitos previos

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

Parámetros

Argumento Descripción
NombreDeGrupo El nombre del grupo.
GroupDescription Una descripción del grupo. Opcional.
/collection :CollectionURL Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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. Por el contrario, 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 en sí, 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 la administración de usuarios.

Nota

Puede usar el comando /gcg para crear grupos, pero no puede usarlo para agregar usuarios a los grupos o 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 de 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 tienen solo propósitos ilustrativos 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. Datum Corporation Auditores."

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

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

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

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

Requisitos previos

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 los permisos 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 obtener más información, consulte Referencia de permisos y grupos de seguridad.

Parámetros

Argumento Descripción
groupIdentity 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 encontrar 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 tienen solo propósitos ilustrativos 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 de 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]

Requisitos previos

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

Parámetros

Argumento Descripción
GroupIdentity 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 tienen solo propósitos ilustrativos 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 colección.

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

Requisitos previos

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

Parámetros

Argumento Descripción
GroupIdentity 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.
NombreDeGrupo 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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. Datum Corporation Testers" a "A. Ingenieros de pruebas de Datum Corporation."

Nota

Los ejemplos tienen solo propósitos ilustrativos 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]

Requisitos previos

Para usar el comando /i , debe tener la información de nivel de colección View o el permiso View instance -level information establecido en Allow, dependiendo de si está usando el parámetro /collection o /server, respectivamente. Para obtener 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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: Enumeración de 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 tienen solo propósitos ilustrativos y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Resultados 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 

Resultados 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 

Resultados 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 pertenencia 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]

Requisitos previos

Para usar el comando /im , 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 obtener más información, consulte Grupos de seguridad y referencia de permisos.

Parámetros

Argumento Descripción
Identidad Identidad del usuario o el 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 en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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, no se enumeran los miembros en sí de los grupos de miembros.

Ejemplo: Mostrar identidades de pertenencia para un grupo de seguridad

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

Nota

Los ejemplos tienen solo propósitos ilustrativos y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Resultados 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 la colección de proyectos de la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation" usando el especificador de identidad adm:.

tfssecurity /im adm: /collection:CollectionURL 

Resultados 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 de proyectos para el proyecto "Datum" de la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation" usando el especificador de identidad adm:.

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

Resultados 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 la pertenencia 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]

Requisitos previos

Para usar el comando /imx , debe tener la información de nivel de colección View o el permiso View instance-level information establecido en Allow, dependiendo de si usa el parámetro /collection o /server , respectivamente. Para obtener más información, consulte Grupos de seguridad y referencia de permisos.

Parámetros

Argumento Descripción
Identidad Identidad del usuario o el 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 en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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 no solo incluye 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 del grupo "Administradores de Team Foundation" en el dominio "Datum1" de la compañía ficticia "A. Datum Corporation".

Nota

Los ejemplos tienen solo propósitos ilustrativos y son ficticios. No se pretende establecer ni inferir ninguna asociación real.

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

Resultados 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 la colección de proyectos de la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation" usando el especificador de identidad adm:.

tfssecurity /imx adm: /collection:CollectionURL 

Resultados 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 de proyectos para el proyecto "Datum" de la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation" usando el especificador de identidad adm:.

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

Resultados 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]

Requisitos previos

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

Nota

Aunque haya iniciado sesión con credenciales administrativas, debe abrir un símbolo del sistema con privilegios elevados para realizar esta función.

Parámetros

Argumento Descripción
GroupIdentity 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.
MemberIdentity Especifica la identidad de 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:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de capa de aplicación en el siguiente formato: http:// ServerName : Port / VirtualDirectoryName

Comentarios

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

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

Ejemplo: Comprobar 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 tienen solo propósitos ilustrativos 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

Resultados 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 con el tiempo. Para obtener la lista más reciente de espacios de nombres, ejecute una de las herramientas de línea de comandos o la API REST. Algunos espacios de nombres han quedado en desuso. Para obtener más información, vea 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:[D omain]Name 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 cadena de conexión. Si se omite el ámbito, se asume el ámbito de servidor o colección en función de 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 las cuentas de servicio. No aplicable
todo: Hace referencia a todos los grupos e identidades. No aplicable
String Hace referencia a una cadena no calificada. Si String comienza con S-1-, se identifica como un SID. Si String comienza por 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 Azure DevOps Server grupo de aplicaciones.
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.

Marcadores de entrada de control de acceso

Marcador de entrada de control de acceso Descripción
+ Permitir entrada de control de acceso.
- DENY entrada de control de acceso.
* [] Entrada de control de acceso heredada.