Partager via


Utiliser TFSSecurity pour gérer des groupes et des autorisations pour Azure DevOps

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

Vous pouvez utiliser l’outil en ligne de commande TFSSecurity pour créer, modifier et supprimer des groupes et des utilisateurs dans Azure DevOps Server, et modifier des autorisations supplémentaires pour les groupes et les utilisateurs. Pour plus d’informations sur l’exécution de ces tâches dans l’interface utilisateur, consultez Ajouter des utilisateurs ou des groupes à un projet.

Important

L’outil en ligne de commande TFSSecurity a été déconseillé pour une utilisation avec Azure DevOps Services. Bien que TFSSecurity fonctionne pour certains scénarios Azure DevOps Services, il n’est pas pris en charge. La méthode recommandée pour apporter des modifications aux groupes de sécurité et aux autorisations pour Azure DevOps Services consiste à utiliser le portail Web, les outils de ligne de commande az devops sécurité ou az devops permission, ou l’API REST de sécurité.

Emplacement de l’outil en ligne de commande

Les outils en ligne de commande Azure DevOps sont installés dans le répertoire /Tools d’un serveur de la couche Application 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

Remarque

Même si vous êtes connecté avec des droits administratifs, vous devez ouvrir une invite de commandes avec élévation de privilèges pour effectuer cette opération.

Autorisations

/a+ : Ajouter des autorisations

Utilisez /a+ pour ajouter des autorisations pour un utilisateur ou un groupe dans un groupe au niveau du serveur, au niveau du regroupement ou au niveau du projet. Pour ajouter des utilisateurs à des groupes à partir du portail web, consultez Définir des autorisations au niveau du projet ou de la collection.

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

Conditions préalables

Pour utiliser la commande /a+, vous devez avoir l'autorisation de voir les informations au niveau de la collection ou de l'instance, selon que le paramètre /collection ou /server est utilisé, respectivement. Si vous modifiez les autorisations d’un projet, vous devez également disposer de l’autorisation Modifier les informations au niveau du projet pour le projet défini sur Autoriser. Pour plus d’informations, consultez la référence sur les autorisations et les groupes.

Paramètres

Raisonnement Description
Namespace Espace de noms qui contient le groupe auquel vous souhaitez ajouter des autorisations pour un utilisateur ou un groupe. Vous pouvez également utiliser la commande tfssecurity /a pour afficher une liste d’espaces de noms au niveau du serveur, de la collection et du projet.
Identité Identité de l’utilisateur ou du groupe. Pour plus d’informations sur les spécificateurs d’identité, consultez les spécificateurs d’identité plus loin dans cet article.
  • PERMETTRE
    Le groupe ou l’utilisateur peut effectuer l’opération spécifiée par l’action.
  • DENY
    Le groupe ou l’utilisateur ne peut pas effectuer l’opération spécifiée par l’action.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Les entrées de contrôle d’accès sont des mécanismes de sécurité qui déterminent les opérations qu’un utilisateur, un groupe, un service ou un ordinateur est autorisé à effectuer.

Exemple : Afficher les espaces de noms disponibles

L’exemple suivant montre quels espaces de noms sont disponibles au niveau du serveur pour le serveur de la couche Application nommé ADatumCorporation.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

tfssecurity /a /server:ServerURL 

Exemple de sortie :

    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.

Exemple : Afficher les actions disponibles

L’exemple suivant montre quelles actions sont disponibles pour l’espace de noms au niveau du serveur au niveau de la collection.

tfssecurity /a Server /collection:CollectionURL 

Exemple de sortie :

    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.

Exemple : Attribuer une autorisation au niveau de l’instance

L'exemple suivant accorde à l'utilisateur de domaine Datum1, John Peoples (Datum1\jpeoples), l'autorisation au niveau serveur de consulter les informations au niveau de l'instance pour le déploiement d'ADatumCorporation.

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

Exemple de sortie :

    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.

Exemple : Affecter une autorisation au niveau de la collection

L'exemple suivant accorde l'autorisation d'afficher les informations au niveau de la collection à la collection de projet Collection0 pour l'utilisateur de domaine Datum1 John Peoples (Datum1\jpeoples).

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

Exemple de sortie :

    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- : Supprimer un utilisateur ou un groupe de l’appartenance à un groupe

Utilisez la commande /a- pour supprimer un utilisateur ou un groupe de l’appartenance à un groupe au niveau du serveur, au niveau du regroupement ou au niveau du projet. Pour supprimer des utilisateurs de groupes du portail web, consultez Supprimer des comptes d’utilisateur.

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

Conditions préalables

Pour utiliser la commande /a-, vous devez disposer de la permission Voir les informations au niveau de la collection ou de la permission Voir les informations au niveau de l'instance définie sur Autoriser, selon que vous utilisez le paramètre /collection ou /server, respectivement. Si vous modifiez les autorisations d’un projet, vous devez également disposer de l’autorisation Modifier les informations au niveau du projet pour le projet défini sur Autoriser.

Paramètres

Raisonnement Description
Namespace Espace de noms qui contient le groupe auquel vous souhaitez supprimer les autorisations d’un utilisateur ou d’un groupe. Vous pouvez également utiliser la commande tfssecurity /a pour afficher une liste d’espaces de noms au niveau du serveur, de la collection et du projet.
Identité Identité de l’utilisateur ou du groupe. Pour plus d’informations sur les spécificateurs d’identité, consultez les spécificateurs d’identité plus loin dans cet article.
  • PERMETTRE
    Le groupe ou l’utilisateur peut effectuer l’opération spécifiée par l’action.
  • DENY
    Le groupe ou l’utilisateur ne peut pas effectuer l’opération spécifiée par l’action.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Les entrées de contrôle d’accès sont des mécanismes de sécurité qui déterminent les opérations qu’un utilisateur, un groupe, un service ou un ordinateur est autorisé à effectuer sur un ordinateur ou un serveur.

Exemple : Afficher les espaces de noms au niveau du serveur

L’exemple suivant affiche les espaces de noms disponibles au niveau du serveur pour le serveur de la couche Application nommé ADatumCorporation.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

tfssecurity /a /server:ServerURL 

Exemple de sortie :

    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.

Exemple : Afficher les actions disponibles au niveau de la collection

L’exemple suivant montre quelles actions sont disponibles pour l’espace de noms du serveur au niveau de la collection.

tfssecurity /a Server /collection:CollectionURL 

Exemple de sortie :

    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.

Exemple : Supprimer une autorisation au niveau de l’instance

L’exemple suivant supprime l’autorisation d’informations au niveau du serveur view au niveau de l’instance au déploiement ADatumCorporation pour l’utilisateur de domaine Datum1 John Peoples (Datum1\jpeoples).

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

Exemple de sortie :

    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.

Exemple : Supprimer une autorisation au niveau de la collection

L'exemple suivant supprime l'autorisation Afficher les informations au niveau de la collection de la collection Collection0 pour l'utilisateur de domaine John Peoples (Datum1\jpeoples) du domaine Datum1.

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

Exemple de sortie :

    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 : Afficher la liste des contrôles d’accès

Utilisez /acl pour afficher la liste de contrôle d’accès qui s’applique à un objet particulier.

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

Conditions préalables

Pour utiliser la commande /acl , vous devez disposer des informations de niveau collection View ou de l’autorisation Afficher les informations au niveau de l’instance sur Autoriser, selon que vous utilisez le paramètre /collection ou /server , respectivement. Pour plus d’informations, consultez Référence d’autorisation pour Azure DevOps Server.

Paramètres

Raisonnement Description
Namespace Espace de noms qui contient le groupe auquel vous souhaitez afficher les autorisations d’un utilisateur ou d’un groupe.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Les entrées de contrôle d’accès sont des mécanismes de sécurité qui déterminent les opérations qu’un utilisateur, un groupe, un service ou un ordinateur est autorisé à effectuer sur un ordinateur ou un serveur.

Exemple : répertorier les affectations de listes de contrôle d’accès dans un espace de noms au niveau du serveur

L’exemple suivant montre ce que les utilisateurs et les groupes ont accès au jeton FrameworkGlobalSecurity dans l’espace de noms du serveur au sein du déploiement ADatumCorporation.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL 

Exemple de sortie :

	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.

Groupes

/g : répertorier les groupes

Utilisez /g pour répertorier les groupes d’un projet, dans une collection de projets ou sur Azure DevOps Server.

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

Conditions préalables

Pour utiliser la commande /g , vous devez avoir la permission Afficher les informations au niveau de la collection ou au niveau de l’instance, définie sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server . Pour utiliser la commande /g dans l’étendue d’un seul projet, vous devez disposer de l’autorisation Afficher les informations au niveau du projet sur Autoriser. Pour plus d’informations, consultez la référence sur les autorisations et les groupes.

Paramètres

Raisonnement Description
portée Optionnel. Spécifie l’URI du projet pour lequel vous souhaitez afficher des groupes. Pour obtenir l’URI d’un projet, ouvrez Team Explorer, cliquez avec le bouton droit sur le projet, cliquez sur Propriétés et copiez l’entrée entière pour l’URL.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

La commande /g de l’utilitaire de ligne de commande TFSSecurity affiche des informations sur chaque groupe dans l’étendue sélectionnée. Cette étendue peut être la collection de projets (/server) ou le serveur de la couche Application (/instance). Si elle est utilisée avec l’étendue d’un projet, elle affiche uniquement des informations sur les groupes associés à ce projet.

Exemple : Afficher les informations de groupe au niveau de la collection

L’exemple suivant affiche des informations pour tous les groupes d’une collection de projets.

tfssecurity /g /collection:CollectionURL

/g+ : Ajouter un utilisateur ou un autre groupe à un groupe existant

Utilisez /g+ pour ajouter un utilisateur ou un autre groupe à un groupe existant.

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

Conditions préalables

Pour utiliser la commande /g+, vous devez avoir les permissions Afficher les informations au niveau de la collection et Modifier les informations au niveau de la collection ou les permissions Afficher les informations au niveau de l’instance et Modifier les informations au niveau de l’instance définies sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
identité de groupe Spécifie l’identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
identité du membre Spécifie l’identité de membre. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Vous pouvez également ajouter des utilisateurs et des groupes à un groupe existant à l’aide de Team Explorer. Pour plus d’informations, consultez Définir des autorisations au niveau du projet ou de la collection.

Exemple : Ajouter un utilisateur à un groupe au niveau du serveur

L’exemple suivant ajoute l’utilisateur de domaine Datum1 John Peoples (Datum1\jpeoples) au groupe Administrateurs Team Foundation.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

Exemple de sortie :

    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- : Supprimer un utilisateur ou un groupe

Utilisez /g- pour supprimer un utilisateur ou un groupe d’utilisateurs d’un groupe existant.

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

Conditions préalables

Pour utiliser la commande /g-, vous devez disposer des autorisations Afficher les informations au niveau de la collection et Modifier les informations au niveau de la collection, ou Afficher les informations au niveau de l’instance et Modifier les informations au niveau de l’instance, définies sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
identité de groupe Spécifie l’identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
identité du membre Spécifie l’identité de membre. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Vous pouvez également ajouter des utilisateurs et des groupes à un groupe existant à l’aide de Team Explorer. Pour plus d’informations, consultez Supprimer des utilisateurs d’un groupe de projets ou définir des autorisations au niveau du projet ou de la collection.

Exemple : supprimer un utilisateur d’un groupe au niveau du serveur

L’exemple suivant supprime l’utilisateur de domaine Datum1 John Peoples (Datum1\jpeoples) du groupe Administrateurs Team Foundation.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

Exemple de sortie :

    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 : Créer un groupe au niveau du projet

Utilisez /gc à une invite de commandes pour créer un groupe au niveau du projet. Pour créer un groupe au niveau du projet à partir de l’interface utilisateur, consultez Gérer les utilisateurs ou les groupes.

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

Conditions préalables

Pour utiliser la commande /gc , vous devez disposer de l’autorisation Modifier Project-Level Informations pour ce projet défini sur Autoriser. Pour plus d’informations, consultez référence d’autorisation.

Paramètres

Raisonnement Description
Étendue URI du projet auquel vous souhaitez ajouter un groupe au niveau du projet. Pour obtenir l’URI d’un projet, connectez-vous à celui-ci et ouvrez Team Explorer, pointez sur le nom du projet dans La page d’accueil et lisez l’adresse. Vous pouvez également vous connecter au projet dans Web Access et copier l’URL.
NomDuGroupe Nom du nouveau groupe.
Description du Groupe Description du groupe de projets. Optionnel.
/collection :CollectionURL URL de la collection de projets. Obligatoire. Le groupe sera créé dans la collection de projets. Le format de l’URL est http:// ServerName : Port / VirtualDirectoryName CollectionName /

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Un groupe au niveau du projet est un groupe de sécurité pour votre projet. Vous pouvez utiliser des groupes de projets pour accorder des autorisations de lecture, d’écriture et d’administration qui répondent aux exigences de sécurité de votre organisation.

Exemple : Ajouter un groupe de sécurité à un projet

L’exemple suivant crée un groupe spécifique au projet spécifié par l’URI « vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000 ». Le groupe est nommé « Groupe de tests » et a la description « Ce groupe est à des fins de test ».

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

Vous devez remplacer le GUID d’espace réservé par l’URI du projet pour lequel vous souhaitez créer ce groupe. Pour obtenir l’URI d’un projet, ouvrez Team Explorer, cliquez avec le bouton droit sur le projet, cliquez sur Propriétés et copiez la valeur entière de la propriété URL.

Après avoir exécuté la commande, vous pouvez vérifier le groupe dans Team Explorer. Cliquez avec le bouton droit sur le projet que vous avez utilisé dans la commande, cliquez sur Paramètres du projet, puis cliquez sur Appartenances au groupe. Dans la boîte de dialogue Groupes de projets sur TeamProjectName, la liste Groupes inclut le groupe de tests.

Remarque

Vous pouvez utiliser la commande /gc pour créer des groupes, mais pas pour ajouter d’utilisateurs aux groupes ou attribuer des autorisations. Pour modifier l’appartenance au groupe, consultez /g+ : Ajouter un utilisateur ou un autre groupe à un groupe existant et /g- : Supprimer un utilisateur ou un groupe. Pour modifier les autorisations du groupe, consultez /a+ : Ajouter des autorisations et /a- : Supprimer un utilisateur ou un groupe de l’appartenance à un groupe.

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 : Créer un groupe au niveau du serveur ou du regroupement

Utilisez la commande /gcg pour créer un groupe au niveau du serveur ou de collection. Pour créer un groupe au niveau de la collection à partir du portail web, consultez Définir des autorisations au niveau du projet ou de la collection.

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

Conditions préalables

Pour utiliser la commande /gcg , vous devez disposer de l’autorisation Modifier les informations au niveau du projet pour ce projet défini sur Autoriser. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
NomDuGroupe Nom du groupe.
Description du Groupe Description du groupe. Optionnel.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Les groupes au niveau du serveur sont créés directement au niveau de l’application et s’appliquent à toutes les collections de projets. Le niveau collection est créé au niveau de la collection de projets. Ils s’appliquent à cette collection et ont des implications pour tous les projets au sein de la collection. En revanche, les groupes de projets s’appliquent à un projet spécifique au sein d’une collection, mais pas à d’autres projets de cette collection. Vous pouvez attribuer des autorisations à des groupes au niveau du serveur afin que les membres de ces groupes puissent effectuer des tâches dans Azure DevOps Server lui-même, telles que la création de regroupements de projets. Vous pouvez attribuer des autorisations à des groupes au niveau du regroupement afin que les membres de ces groupes puissent effectuer des tâches dans une collection de projets, telles que l’administration des utilisateurs.

Remarque

Vous pouvez utiliser la commande /gcg pour créer des groupes, mais vous ne pouvez pas l’utiliser pour ajouter des utilisateurs aux groupes ou attribuer des autorisations. Pour plus d’informations sur la modification de l’appartenance à un groupe, consultez /g+ : Ajouter un utilisateur ou un autre groupe à un groupe existant et /g- : Supprimer un utilisateur ou un groupe. Pour plus d’informations sur la modification des autorisations pour le groupe, consultez /a+ : Ajouter des autorisations et /a- : Supprimer un utilisateur ou un groupe de l’appartenance à un groupe.

Exemple : Ajouter un groupe de sécurité au niveau du regroupement

L’exemple suivant crée un groupe au niveau de la collection nommé « Testeurs Datum » avec la description « A. Testeurs de la Corporation Datum.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

L’exemple suivant crée un groupe au niveau du serveur nommé « Auditeurs Datum » avec la description « A. Auditeurs de Datum Corporation."

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

/gd : Supprimer un groupe au niveau du serveur ou du regroupement

Utilisez /gd pour supprimer un groupe au niveau du serveur ou de collection.

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

Conditions préalables

Pour utiliser la commande /gd, vous devez avoir les autorisations "Afficher les informations au niveau de la collection" et "Modifier les informations au niveau de la collection" ou "Afficher les informations au niveau de l’instance" et "Modifier les informations au niveau de l’instance" définies sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
identité de groupe Spécifie l’identité du groupe.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps. Pour modifier les autorisations via le portail web, consultez Définir des autorisations au niveau du projet ou de la collection.

Exemple : Supprimer un groupe de sécurité au niveau du regroupement

L’exemple suivant supprime un groupe de la collection de projets. Le groupe est identifié par « S-1-5-21-2127521184-1604012920-1887927527-588340 », identificateur de sécurité (SID). Pour plus d’informations sur la recherche du SID d’un groupe, consultez /im : Afficher des informations sur les identités qui composent l’appartenance directe. Vous pouvez également utiliser le nom convivial pour supprimer un groupe.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

/gud : Modifier la description d’un groupe au niveau du serveur ou du regroupement

Utilisez /gud pour modifier la description d’un groupe de niveau serveur ou de collection.

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

Conditions préalables

Pour utiliser la commande /gud , vous devez disposer de l’autorisation Modifier les informations au niveau du projet sur Autoriser. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
Identité de groupe Spécifie l’identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
Description du Groupe Spécifie la nouvelle description du groupe.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Exemple : Ajouter une description à un groupe de sécurité

L’exemple suivant associe la description « Les membres de ce groupe testent le code de ce projet » au groupe « Testeurs Datum ».

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

/gun : Renommer un groupe

Utilisez /gun pour renommer un groupe au niveau du serveur ou de collection.

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

Conditions préalables

Pour utiliser la commande /gun, vous devez avoir les permissions définies sur Autoriser pour "Voir les informations au niveau de la collection" et "Modifier les informations au niveau de la collection", ou pour "Voir les informations au niveau de l'instance" et "Modifier les informations au niveau de l'instance", selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
Identité de groupe Spécifie l’identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
NomDuGroupe Spécifie le nouveau nom du groupe.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

Exemple : Renommer un groupe de sécurité

L’exemple suivant renomme le groupe au niveau de la collection « A. Datum Corporation Testeurs » sur « A. Ingénieurs de test de Datum Corporation."

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

Identités et appartenances

/i : Afficher les informations d’identité pour un groupe spécifié

Utilisez /i pour afficher les informations d’identité d’un groupe spécifié dans un déploiement d’Azure DevOps Server.

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

Conditions préalables

Pour utiliser la commande /i , vous devez disposer des informations de niveau collection View ou de l’instance View -level d’autorisations d’informations sur Autoriser, selon que vous utilisez le paramètre /collection ou /server, respectivement. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
Identité Identité de l’utilisateur ou du groupe d’applications. Pour plus d’informations sur les spécificateurs d’identité, consultez les spécificateurs d’identité plus loin dans cet article.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

La commande /i de l’utilitaire de ligne de commande TFSSecurity affiche des informations sur chaque groupe dans la collection de projets (/server) ou le serveur de la couche Application (/instance). Il n’affiche aucune information d’appartenance.

Exemple : répertorier les informations d’identité d’un groupe de sécurité

L’exemple suivant affiche les informations d’identité pour le groupe « Administrateurs Team Foundation ».

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

Exemple de sortie :

    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.

Exemple : Afficher les informations d’identité d’un groupe de sécurité

L’exemple suivant affiche les informations d’identité pour le groupe Administrateurs de collection de projets à l’aide du spécificateur d’identité adm : .

tfssecurity /i adm: /collection:CollectionURL 

Exemple de sortie :

    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.

L’exemple suivant affiche les informations d’identité du groupe Administrateurs de projet pour le projet « Datum » à l’aide du spécificateur d’identité adm : .

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

Exemple de sortie :

    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 : Afficher des informations sur les identités qui composent l’appartenance directe

Utilisez /im pour afficher des informations sur les identités qui composent l’appartenance directe d’un groupe que vous spécifiez.

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

Conditions préalables

Pour utiliser la commande /im, vous devez disposer de l’autorisation Afficher les informations au niveau de la collection ou de l’autorisation Afficher les informations au niveau de l’instance définie sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
Identité Identité de l’utilisateur ou du groupe. Pour plus d’informations sur les spécificateurs d’identité, consultez les spécificateurs d’identité plus loin dans cet article.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

La commande /im de TFSSecurity affiche uniquement les membres directs du groupe spécifié. Cette liste inclut d’autres groupes membres du groupe spécifié. Toutefois, les membres réels des groupes de membres ne sont pas répertoriés.

Exemple : Afficher les identités d’appartenance pour un groupe de sécurité

L’exemple suivant affiche des informations d’identité d’appartenance directe pour le groupe « Team Foundation Administrators » dans le domaine « Datum1 » pour l'entreprise fictive « A ». Datum Corporation".

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

Exemple de sortie :

    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.

Exemple : Afficher les informations d’identité d’un groupe de sécurité

L’exemple suivant affiche des informations d’identité pour le groupe Administrateurs de collection de projets dans la collection de projets « DatumOne » dans le domaine « Datum1 » au niveau de la société fictive « A ». Datum Corporation » à l’aide du spécificateur d’identité adm :

tfssecurity /im adm: /collection:CollectionURL 

Exemple de sortie :

    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.

Exemple : Afficher des informations d’identité pour un groupe de sécurité à l’aide d’un spécificateur d’identité

L’exemple suivant affiche les informations d’identité du groupe Administrateurs de projet pour le projet « Datum » dans la collection de projets « DatumOne » dans le domaine « Datum1 » au niveau de la société fictive « A ». Datum Corporation » en utilisant le spécificateur d’identité adm.

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

Exemple de sortie :

    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 : Afficher des informations sur les identités que l'appartenance élargie inclut

Utilisez /imx pour afficher des informations sur les identités qui composent l’appartenance étendue d’un groupe spécifié.

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

Conditions préalables

Pour utiliser la commande /imx, vous devez avoir l'autorisation Afficher les informations au niveau de la collection ou l'autorisation Afficher les informations au niveau de l'instance réglée sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Paramètres

Raisonnement Description
Identité Identité de l’utilisateur ou du groupe. Pour plus d’informations sur les spécificateurs d’identité, consultez les spécificateurs d’identité plus loin dans cet article.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de la couche Application pour Azure DevOps.

La commande /imx de TFSSecurity affiche uniquement les membres développés du groupe spécifié. Cette liste inclut non seulement d’autres groupes membres du groupe spécifié, mais également les membres des groupes de membres.

Exemple : Afficher des informations d’appartenance étendues pour un groupe de sécurité

L’exemple suivant affiche des informations d’identité d’appartenance étendues pour le groupe « Team Foundation Administrators » dans le domaine « Datum1 » de la société fictive « A ». Datum Corporation".

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

Exemple de sortie :

    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.

L’exemple suivant affiche des informations d’identité pour le groupe Administrateurs de collection de projets dans la collection de projets « DatumOne » dans le domaine « Datum1 » au niveau de la société fictive « A ». Datum Corporation » en utilisant le spécificateur d’identité adm.

tfssecurity /imx adm: /collection:CollectionURL 

Exemple de sortie :

    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.

Exemple : Afficher des informations d’identité pour un groupe de sécurité à l’aide d’un spécificateur d’identité

L’exemple suivant affiche les informations d’identité du groupe Administrateurs de projet pour le projet « Datum » dans la collection de projets « DatumOne » dans le domaine « Datum1 » au niveau de la société fictive « A ». Datum Corporation » en utilisant le spécificateur d’identité adm.

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

Exemple de sortie :

    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.

Pour plus d’informations sur les spécificateurs de sortie, tels que [G] et [U], consultez les spécificateurs d’identité plus loin dans cet article.

/m : Vérifier l’appartenance explicite et implicite au groupe

Utilisez /m pour vérifier les informations d’appartenance de groupe explicites et implicites pour un groupe ou un utilisateur spécifié.

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

Conditions préalables

Pour utiliser la commande /m , vous devez être membre du groupe de sécurité Administrateurs Team Foundation. Pour plus d’informations, consultez les groupes de sécurité et les informations de référence sur les autorisations.

Remarque

Même si vous êtes connecté avec des droits administratifs, vous devez ouvrir une invite de commandes avec élévation de privilèges pour effectuer cette opération.

Paramètres

Raisonnement Description
Identité de groupe Spécifie l’identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
IdentitéMembre Spécifie l’identité de membre. Par défaut, la valeur de cet argument est l’identité de l’utilisateur qui exécute la commande. Pour plus d’informations sur les spécificateurs d’identité valides, consultez les spécificateurs d’identité plus loin dans cet article.
/collection :CollectionURL Obligatoire si /server n’est pas utilisé. Spécifie l’URL d’une collection de projets au format suivant : http:// ServerName : Port / VirtualDirectoryName CollectionName /
/server :ServerURL Obligatoire si /collection n’est pas utilisé. Spécifie l’URL d’un serveur de la couche Application au format suivant : http:// Nom_serveur : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur l’ordinateur de la couche Application locale.

La commande /m de l’utilitaire de ligne de commande TFSSecurity vérifie les appartenances directes et étendues.

Exemple : Vérifier l’appartenance d’un utilisateur dans un groupe de sécurité

L’exemple suivant vérifie si l’utilisateur « Datum1\jpeoples » appartient au groupe de niveau serveur Administrateurs Team Foundation.

Remarque

Les exemples sont à titre d’illustration uniquement et sont fictifs. Aucune association réelle n’est voulue ni sous-entendue.

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

Exemple de sortie :

    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.

Espaces de noms de sécurité

Remarque

Les espaces de noms et les jetons sont valides pour toutes les versions d’Azure DevOps. Les espaces de noms sont susceptibles de changer au fil du temps. Pour obtenir la dernière liste d’espaces de noms, effectuez l’exercice de l’un des outils en ligne de commande ou de l’API REST. Certains espaces de noms ont été déconseillés. Pour plus d’informations, consultez Espace de noms de sécurité et la référence d’autorisation.

Spécificateurs d’identité

Vous pouvez référencer une identité à l’aide de l’une des notations du tableau suivant.

Spécificateur d’identité Description Exemple :
Sid: Sid. Fait référence à l’identité qui a l’identificateur de sécurité spécifié (SID). sid :S-1-5-21-2127521184-1604012920-1887927527-588340
n :[Nom de] domaine Fait référence à une identité qui a le nom spécifié. Pour Windows, Name est le nom du compte. Si l’identité référencée se trouve dans un domaine, le nom de domaine est requis. Pour les groupes d’applications, le nom est le nom complet du groupe et le domaine est l’URI ou le GUID du projet conteneur. Dans ce contexte, si le domaine est omis, l’étendue est supposée être au niveau de la collection. Pour référencer l’identité de l’utilisateur « John Peoples » dans le domaine « Datum1 » à la société fictive « A ». Datum Corporation :"

n :DATUM1\jpeoples

Pour référencer des groupes d’applications :

n :"Employés à temps plein »

n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Fournisseurs
adm :[Scope] Fait référence au groupe d’applications administratives pour l’étendue, par exemple « Administrateurs Team Foundation » pour le niveau serveur ou « Administrateurs de collection de projets » au niveau de la collection. L’étendue de paramètre facultative est un URI de projet ou une URL, y compris son GUID et sa chaîne de connexion. Si l’étendue est omise, l’étendue du serveur ou de la collection est supposée selon que le paramètre /instance ou /server est utilisé. Dans les deux cas, le signe deux-points est toujours requis. adm : vstfs:///Classification/TeamProject/ GUID
srv : Fait référence au groupe d’applications pour les comptes de service. Sans objet
tout: Fait référence à tous les groupes et identités. Sans objet
Chaîne Fait référence à une chaîne non qualifiée. Si la chaîne commence par S-1-, elle est identifiée comme un SID. Si String commence par CN= ou LDAP:// il est identifié comme un nom unique. Sinon, String est identifié comme un nom. « Testeurs d’équipe »

Marqueurs de type

Les marqueurs suivants sont utilisés pour identifier les types d’identités et d’ACL dans les messages de sortie.

Marqueurs de type d’identité

Marqueur de type d’identité Description
U Utilisateur Windows.
G Groupe Windows.
A Groupe d’applications Azure DevOps Server.
a [ A ] Groupe d’applications administratives.
s [ A ] Groupe d’applications de compte de service.
X L’identité n’est pas valide.
? L’identité est inconnue.

Repères d'entrée pour le contrôle d'accès

Marqueur d’entrée de contrôle d’accès Description
+ Autoriser une entrée de contrôle d'accès.
- REFUSER une entrée de contrôle d'accès.
* [] Entrée de contrôle d’accès héritée.