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

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

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 également les autorisations 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 être utilisé avec Azure DevOps Services. Bien que TFSSecurity puisse fonctionner 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 en ligne de commande az devops security 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 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

Notes

Même si vous êtes connecté en tant qu'administrateur, vous devez ouvrir une invite de commandes avec les autorisations élevées pour exécuter cette fonction.

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 de la collection 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]

Prérequis

Pour utiliser la commande /a+, vous devez disposer de l’autorisation Afficher les informations au niveau de la collection ou de l’autorisation Afficher les informations de niveau 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 définie sur Autoriser. Pour plus d’informations, consultez Informations de référence sur les autorisations et les groupes.

Paramètres

Argument Description
Espace de noms 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 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:// ServerName : Port / VirtualDirectoryName

Remarques

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

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

Exemple : Afficher les espaces de noms disponibles

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

Notes

Ces exemples sont fournis à 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 affiche les actions 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 : Affecter une autorisation de niveau instance

L’exemple suivant accorde l’autorisation Vue au niveau du serveur instance niveau informations 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)
    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 : Attribuer une autorisation au niveau de la collection

L’exemple suivant accorde l’autorisation Afficher les informations au niveau de la collection à la collection de projets 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, de la collection ou du projet. Pour supprimer des utilisateurs des groupes du portail web, consultez Supprimer des comptes d’utilisateur.

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

Prérequis

Pour utiliser la commande /a-, vous devez disposer de l’autorisation Afficher les informations au niveau de la collection ou de l’autorisation Afficher les informations de niveau 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 définie sur Autoriser.

Paramètres

Argument Description
Espace de noms Espace de noms qui contient le groupe sur lequel 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 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 quels espaces de noms sont disponibles au niveau serveur pour le serveur de couche Application nommé ADatumCorporation.

Notes

Ces exemples sont fournis à 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 de 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 de niveau instance

L’exemple suivant supprime l’autorisation d’informations de niveau serveur instance au niveau du 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 pour la collection de projets 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)
    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 de contrôle 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]

Prérequis

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

Paramètres

Argument Description
Espace de noms Espace de noms qui contient le groupe sur lequel 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 ACL à un espace de noms de niveau serveur

L’exemple suivant montre quels utilisateurs et groupes ont accès au jeton FrameworkGlobalSecurity dans l’espace de noms de serveur dans le déploiement ADatumCorporation.

Notes

Ces exemples sont fournis à 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, d’une collection de projets ou d’un Azure DevOps Server.

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

Prérequis

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

Paramètres

Argument Description
scope facultatif. Spécifie l’URI du projet pour lequel vous souhaitez afficher les 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 couche Application (/instance). S’il est utilisé avec l’étendue d’un projet, il 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 au sein 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]

Prérequis

Pour utiliser la commande /g+, 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 de niveau instance et Modifier les informations de niveau instance définies sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez Groupes de sécurité et informations de référence sur les autorisations.

Paramètres

Argument Description
groupIdentity Spécifie l'identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez Spécificateurs d’identité plus loin dans cet article.
memberIdentity Spécifie l'identité du membre. Pour plus d’informations sur les spécificateurs d’identité valides, consultez 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 Team Foundation Administrators.

Notes

Ces exemples sont fournis à 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]

Prérequis

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 de niveau instance et Modifier les informations de niveau instance définies sur Autoriser, selon que vous utilisez respectivement le paramètre /collection ou /server. Pour plus d’informations, consultez Groupes de sécurité et informations de référence sur les autorisations.

Paramètres

Argument Description
groupIdentity Spécifie l'identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez Spécificateurs d’identité plus loin dans cet article.
memberIdentity Spécifie l'identité du membre. Pour plus d’informations sur les spécificateurs d’identité valides, consultez 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 Team Foundation Administrators.

Notes

Ces exemples sont fournis à 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 des utilisateurs ou des groupes.

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

Prérequis

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

Paramètres

Argument 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 Accueil, puis lisez l’adresse. Vous pouvez aussi vous connecter au projet dans Web Access et copier l'URL.
GroupName Nom du nouveau groupe.
GroupDescription Description du groupe de projets. facultatif.
/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 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 ci-dessous crée un groupe spécifique au projet spécifié par l'URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000". Ce groupe est nommé « Test Group » (Groupe de test) et possède une description indiquant qu'il est destiné aux tests.

Notes

Ces exemples sont fournis à 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 sur Appartenances au groupe. Dans la boîte de dialogue Groupes de projets sur NomProjetÉquipe, la liste Groupes inclut Test Group.

Notes

Vous pouvez utiliser la commande /gc pour créer des groupes, mais pas pour ajouter des 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 serveur ou un groupe au niveau de la collection

Utilisez la commande /gcg pour créer un groupe au niveau du serveur ou au niveau de la 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]`

Prérequis

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

Paramètres

Argument Description
GroupName Nom de groupe.
GroupDescription description du groupe. facultatif.
/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:// ServerName : Port / VirtualDirectoryName

Remarques

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

Les groupes au niveau du serveur sont créés directement sur la couche Application et s’appliquent à toutes les collections de projets. Au niveau de la collection sont créés au niveau de la collection de projet. Elles s’appliquent à cette collection et ont des implications pour tous les projets 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 collections de projets. Vous pouvez attribuer des autorisations à des groupes au niveau de la collection afin que les membres de ces groupes puissent effectuer des tâches dans une collection de projets, telles que l’administration d’utilisateurs.

Notes

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 d’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 de la collection

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

Notes

Ces exemples sont fournis à 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é « Datum Auditors » avec la description « A . Auditeurs de Datum Corporation. »

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

/gd : Supprimer un serveur ou un groupe au niveau de la collection

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

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

Prérequis

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

Paramètres

Argument Description
groupIdentity 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 de la collection

L’exemple suivant supprime un groupe de la collection de projets. Le groupe est identifié par « S-1-5-21-2127521184-1604012920-1887927527-588340 », l’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.

Notes

Ces exemples sont fournis à 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 serveur ou d’un groupe au niveau de la collection

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

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

Prérequis

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

Paramètres

Argument Description
GroupIdentity Spécifie l'identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez Spécificateurs d’identité plus loin dans cet article.
GroupDescription 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 de référence ».

Notes

Ces exemples sont fournis à 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 au niveau de la collection.

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

Prérequis

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

Paramètres

Argument Description
GroupIdentity Spécifie l'identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez Spécificateurs d’identité plus loin dans cet article.
GroupName 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:// ServerName : Port / VirtualDirectoryName

Remarques

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

Exemple : Renommer un groupe de sécurité

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

Notes

Ces exemples sont fournis à 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 appartenance

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

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

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

Prérequis

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

Paramètres

Argument Description
Identité Identité de l’utilisateur ou du groupe d’applications. Pour plus d’informations sur les spécificateurs d’identité, consultez 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:// ServerName : Port / VirtualDirectoryName

Remarques

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

La commande /i de l’utilitaire de ligne de commande TFSSecurity affiche des informations sur chaque groupe au sein de la collection de projets (/server) ou du 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 des informations d’identité pour le groupe « Administrateurs Team Foundation ».

Notes

Ces exemples sont fournis à 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]

Prérequis

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 de niveau instance définie sur Autoriser, selon que vous utilisez le paramètre /collection ou /server, respectivement. Pour plus d’informations, consultez Groupes de sécurité et informations de référence sur les autorisations.

Paramètres

Argument Description
Identité Identité de l'utilisateur ou du groupe. Pour plus d’informations sur les spécificateurs d’identité, consultez 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 qui sont membres du groupe spécifié. Toutefois, les membres réels des groupes de membres ne sont pas répertoriés.

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

L'exemple suivant affiche les informations sur l'identité d'appartenance directe pour le groupe « Team Foundation Administrators » dans le domaine « Datum1 » pour la société fictive « A. Datum Corporation".

Notes

Ces exemples sont fournis à 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 » de la société fictive « A . Datum Corporation" en utilisant le 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 les informations d’identité d’un groupe de sécurité à l’aide d’un spécificateur d’identité

L’exemple suivant affiche des informations d’identité pour le groupe Administrateurs de projet pour le projet « Datum » dans la collection de projets « DatumOne » dans le domaine « Datum1 » de la société fictive « A . Datum Corporation" à l'aide du 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 développée

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

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

Prérequis

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

Paramètres

Argument Description
Identité Identité de l'utilisateur ou du groupe. Pour plus d’informations sur les spécificateurs d’identité, consultez 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:// ServerName : Port / VirtualDirectoryName

Remarques

Exécutez cette commande sur un serveur de 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 les autres groupes qui sont membres du groupe spécifié, mais également les membres des groupes membres.

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

L'exemple suivant affiche les informations sur l'identité d'appartenance développée pour le groupe « Team Foundation Administrators » dans le domaine « Datum1 » pour la société fictive « A. Datum Corporation".

Notes

Ces exemples sont fournis à 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 » de la société fictive « A . Datum Corporation" à l'aide du 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 les informations d’identité d’un groupe de sécurité à l’aide d’un spécificateur d’identité

L’exemple suivant affiche des informations d’identité pour le groupe Administrateurs de projet pour le projet « Datum » dans la collection de projets « DatumOne » dans le domaine « Datum1 » de la société fictive « A . Datum Corporation" à l'aide du 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 Spécificateurs d’identité plus loin dans cet article.

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

Utilisez /m pour case activée des informations d’appartenance au groupe explicites et implicites pour un groupe ou un utilisateur spécifié.

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

Prérequis

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

Notes

Même si vous êtes connecté en tant qu'administrateur, vous devez ouvrir une invite de commandes avec les autorisations élevées pour exécuter cette fonction.

Paramètres

Argument Description
GroupIdentity Spécifie l'identité du groupe. Pour plus d’informations sur les spécificateurs d’identité valides, consultez Spécificateurs d’identité plus loin dans cet article.
MemberIdentity Spécifie l'identité du 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 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:// ServerName : Port / VirtualDirectoryName

Remarques

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

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 à un groupe de sécurité

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

Notes

Ces exemples sont fournis à 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é

Notes

Les espaces de noms et les jetons sont valides pour toutes les versions d’Azure DevOps. Les espaces de noms peuvent être modifiés au fil du temps. Pour obtenir la dernière liste d’espaces de noms, exercez l’un des outils en ligne de commande ou de l’API REST. Certains espaces de noms ont été déprécié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é (SID) spécifié. sid :S-1-5-21-2127521184-1604012920-1887927527-588340
n :[D omain]Name Fait référence à l’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, Name est le nom d’affichage du groupe et Domaine est l’URI ou le GUID du projet contenant. Dans ce contexte, si Domain 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-d3b3e0b0b0b1ee\Vendors
adm :[Étendue] Référence le groupe d’applications d’administration pour l’étendue, comme « Administrateurs Team Foundation » au niveau du serveur ou « Administrateurs de collection de projets » au niveau de la collection. Le paramètre facultatif Scope est un URI ou une URL de projet, y compris son GUID et son 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: Référence le groupe d’applications pour les comptes de service. Non applicable
Tous: Référence tous les groupes et identités. Non applicable
String Fait référence à une chaîne non qualifiée. Si String commence par S-1-, il est identifié comme un SID. Si String commence par CN= ou LDAP:// elle est identifiée 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’AEA dans les messages de sortie.

Marqueurs de type d’identité

Marqueur de type d’identité Description
U Utilisateur Windows.
G Groupe Windows.
A Azure DevOps Server groupe d’applications.
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.

Marqueurs d’entrée de contrôle d’accès

Marqueur d’entrée du contrôle d’accès Description
+ AUTORISER l’entrée de contrôle d’accès.
- Entrée de contrôle d’accès DENY.
* [] Entrée de contrôle d’accès héritée.