> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Automatisation sans interface de XUser

> Automatisation sans interface de XUser

À des fins de test, les jeux peuvent souhaiter automatiser l'ajout d'utilisateurs. Avec le Microsoft Game Development Kit (GDK),
les utilisateurs ne sont ajoutés que lorsque le jeu appelle [XUserAddAsync](/fr/reference/system/xuser/functions/xuseraddasync). En ce qui concerne
l'automatisation, cette fonction présente les deux principales limitations suivantes.

* Si vous appelez `XUserAddAsync` avec l'indicateur `AddDefaultUserSilently`, aucune interface utilisateur ne s'affiche (ce qui
  facilite l'automatisation). Toutefois, vous ne pouvez obtenir que l'utilisateur qui a lancé le jeu.
  Appeler l'API à plusieurs reprises avec cet indicateur ne change pas le résultat. Vous continuez simplement
  à obtenir de nouveaux handles pour les mêmes utilisateurs.
* Si vous appelez `XUserAddAsync` sans l'indicateur `AddDefaultUserSilently`, l'interface utilisateur
  s'affiche et attend que quelqu'un appuie sur un bouton. Cela interrompt l'automatisation.

Pour faciliter l'automatisation de l'ajout d'utilisateurs dans le code de test, le Microsoft Game Development Kit (GDK) permet d'activer une
option sans interface qui vous permet d'ajouter des utilisateurs sans afficher d'interface utilisateur nécessitant une intervention de l'utilisateur. Les
étapes suivantes décrivent l'approche de base.

1. Pour ajouter un utilisateur connecté à la console, vous pouvez utiliser l'outil en ligne de commande [xbuser (rubrique sous NDA)](/fr/tools/tools-console/commandlinetools/xbuser)
   avec l'option `signin`. Répétez cette étape pour chaque utilisateur.
2. Pour supprimer l'interface utilisateur qui s'afficherait normalement lors de l'ajout d'un utilisateur dans le jeu, vous
   pouvez utiliser l'outil en ligne de commande [xbconfig (rubrique sous NDA)](/fr/tools/tools-console/commandlinetools/xbconfig) avec l'option `HeadlessXuser`, comme suit.

```
    xbconfig HeadlessXUser=true
```

3. Lancez le jeu.
4. Dans le jeu, chaque appel à `XUserAddAsync` qui n'a pas
   l'indicateur `AddDefaultUserSilently` renvoie le premier utilisateur qui s'est connecté à la console et
   auquel le jeu n'a associé aucun objet `XUserHandle` en cours.
5. Si le jeu continue d'appeler `XUserAddAsync`, il finit par épuiser le nombre
   d'utilisateurs connectés à la console. Lorsque cela se produit, `XUserAddAsync`
   renvoie `E_ABORT`. Il s'agit exactement de la même erreur que `XUserAddAsync` aurait renvoyée
   si l'utilisateur avait annulé la connexion à la console (ou quitté l'interface utilisateur
   d'une autre manière).
6. À des fins de test, les jeux peuvent souhaiter connaître le nombre de [comptes de test](/fr/services/xbox-services/develop/test-accounts/live-setup-testaccounts)
   connectés à la console. Pour cela, les jeux peuvent appeler `CreateProcess` et lancer
   l'outil en ligne de commande `wduser` avec l'option `list`.


## Related topics

- [Utilisateurs](/fr/build/core-features/common/user/user-toc.md)
- [Identité de l'utilisateur et API XUser dans le GDK](/fr/build/core-features/common/user/index.md)
- [XBOX Manager : gestion de l'automatisation de la console](/fr/tools/tools-console/xbom/manager-tool-automation.md)
- [Identité de l'utilisateur et XUser](/fr/build/core-features/common/user/player-identity-xuser.md)
- [XUserAddOptions](/fr/reference/system/xuser/enums/xuseraddoptions.md)
