Toutes les réponses données ici semblent être des réponses partielles qui ne fonctionnent pas dans tous les cas. Je pense que cette réponse fonctionnera dans tous les cas, en supposant que vous ayez les autorisations appropriées.
- Ouvrez l'invite de commande du développeur. Dans mon cas, j'ai testé cela avec l'invite de commande du développeur pour VS 2019.
- Tapez cette commande :
tf workspaces
Notez que les résultats peuvent lister plusieurs tables avec une structure identique. Si vous ne voyez qu'un seul tableau, alors certaines des hypothèses des autres réponses peuvent vous convenir. En revanche, si vous voyez deux tableaux ou plus, alors que Collection est important ! Pour nos exemples, nous allons supposer que vous avez deux Collections (deux n'est pas différent de quatre si ce n'est que l'un est plus fastidieux que l'autre à parcourir) :
https://dev.azure.com/foo
y https://bar.visualstudio.com/
Avec un peu de chance, vous saurez avec lequel de ces deux-là vous voulez travailler. Toutefois, si vous devez les parcourir toutes, vous devrez le faire une collection à la fois. Chaque "Collection" ici est la même chose qu'une "Organisation" dans Azure DevOps (je pense).
Si vous n'utilisez pas ce détail de la collection, vous risquez de voir apparaître un message d'erreur :
Impossible de déterminer le serveur de contrôle de la source.
- Ensuite, tapez cette commande pour la collection que vous voulez utiliser :
tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo
Cela vous donnera une image beaucoup plus complète de ce à quoi vous avez affaire. Cela devient particulièrement désagréable si vous avez eu plusieurs MSA et comptes Org qui ont accédé à ce repo depuis le même ordinateur. En fait, vous pouvez avoir plusieurs entrées apparemment identiques. Si vous essayez de les supprimer sur la base de ce que vous savez actuellement, cela peut ne pas fonctionner. Mais nous pouvons obtenir plus d'informations.
- Ensuite, nous allons exécuter la même commande mais en ajoutant
/format:xml
à la fin de celui-ci :
tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo /format:xml
Vous obtenez ainsi un paquet de XML avec quelques propriétés supplémentaires. Celles qui nous intéressent le plus sont les alias des propriétaires. Ce sont les informations manquantes dont vous avez besoin pour supprimer ces espaces de travail. Sans ces informations supplémentaires, il est facile de se heurter à un mur et d'être bloqué par un message d'erreur :
Spécifiez un espace de travail.
-
Maintenant, nous avons toutes les informations dont nous avons besoin. Compte tenu de l'information supplémentaire OwernAliases
sélectionnez l'entrée unique (ou répétez-la s'il y en a plusieurs) que vous souhaitez supprimer et utilisez la commande suivante (quelques exemples sont donnés) :
tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;Windows Live ID\John.Doe@hotmail.com"
tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;John Doe"
tf workspace /delete /collection https://dev.azure.com/foo "MyWorkspaceName;2C3E8474-A39C-4785-8794-DC72F09981E6\John.Doe@Example.com"
Le GUID identifie un répertoire AAD et les guillemets sont là pour gérer les espaces qui pourraient se trouver dans un alias. Le "MyWorkspaceName" provient de vos requêtes précédentes listant les espaces de travail.
Sans cette approche très approfondie, il est possible que toutes les autres réponses de cette question échouent pour vous. En effet, si certaines de ces solutions permettent d'effacer les espaces de travail locaux, elles n'effacent pas les espaces de travail des serveurs, avec lesquels vous pouvez encore entrer en conflit. En outre, si vous avez déjà utilisé un autre compte, les choses peuvent se compliquer, par exemple si vous êtes passé d'un compte MSA à un compte AAD. Et les choses se compliquent VRAIMENT si vous avez un compte MSA. et plusieurs comptes AAD, tous avec la même adresse électronique que vous avez utilisée à partir du même poste de travail. Et les choses se compliquent si plusieurs de ces comptes utilisent tous le nom par défaut de l'espace de travail : le nom d'hôte de votre ordinateur. Dans mon cas, j'avais quatre espaces de travail ayant tous le même nom d'espace de travail, le même nom de propriétaire et le même nom d'ordinateur (c'est-à-dire que la première requête sans le formatage XML avait 4 enregistrements identiques !)
Je ne sais pas s'il existe un moyen plus graphique de gérer ces éléments. J'ai cherché et je n'ai pas encore trouvé de meilleur moyen que celui-ci.