Partager via


Créer un fichier de configuration du lanceur d’interpréteur de commandes

Pour configurer le lanceur d’interpréteur de commandes, vous devez créer et appliquer un fichier XML de configuration à vos appareils. Le fichier de configuration doit être conforme à un schéma, tel que défini dans La définition de schéma XML du lanceur d’interpréteur de commandes (XSD).

Cet article explique comment configurer un fichier de configuration du lanceur d’interpréteur de commandes, y compris des exemples pratiques.

Commençons par observer la structure de base du fichier XML. Un fichier de configuration du lanceur d’interpréteur de commandes contient :

  • Un ou plusieurs profiles. Chaque profile définit :
    • l’application qui remplace l’interpréteur de commandes Windows standard (Explorer.exe), qui est exécutée lorsqu’un utilisateur se connecte
    • action par défaut à effectuer lorsque l’application se ferme, et actions lorsque l’application se ferme avec un code de retour spécifique
  • Un ou plusieurs configs. Chacun config associe un compte d’utilisateur à un profile

Remarque

Un profil n’a aucun effet s’il n’est pas associé à un compte d’utilisateur.

Voici un exemple de base de fichier de configuration du lanceur d’interpréteur de commandes, avec un profil et une configuration :

<?xml version="1.0" encoding="utf-8" ?>
<ShellLauncherConfiguration
  xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
  xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <Profile Id="{GUID}">
      <!-- Add configuration here as needed -->
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <!-- Add configuration here as needed -->
    </Config>
  </Configs>
</ShellLauncherConfiguration>

Contrôle de version

Le code XML de configuration du lanceur d’interpréteur de commandes est versionné. La version est définie dans l’élément racine XML et elle est utilisée pour déterminer le schéma à utiliser pour valider le fichier XML. La version est également utilisée pour déterminer les fonctionnalités disponibles pour la configuration. Voici un tableau des versions, des alias utilisés dans les exemples de documentation et des espaces de noms :

Version Alias Espace de noms
Windows 10 V2 http://schemas.microsoft.com/ShellLauncher/2019/Configuration
Windows 10 par défaut http://schemas.microsoft.com/ShellLauncher/2018/Configuration

Pour autoriser un xml de configuration compatible qui inclut des éléments et des attributs spécifiques à la version, incluez toujours l’espace de noms des schémas de module complémentaire et décorez les attributs et les éléments en conséquence avec l’alias d’espace de noms. Par exemple, pour configurer l’application kiosque pour qu’elle s’exécute en plein écran, utilisez l’exemple ci-dessous. Notez l’alias V2 associé à http://schemas.microsoft.com/ShellLauncher/2019/Configuration l’espace de noms, et l’alias est étiqueté sur les AppType propriétés et AllAppsFullScreen inline.

<?xml version="1.0" encoding="utf-8" ?>
<ShellLauncherConfiguration
  xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
  xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <Profile Id="{GUID}">
      <!-- Add configuration here as needed -->
      <Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <!-- Add configuration here as needed -->
    </Config>
  </Configs>
</ShellLauncherConfiguration>

Vous trouverez ici les définitions de schéma XML du lanceur d’interpréteur de commandes (XSD).

Profils

Un fichier de configuration peut contenir un ou plusieurs profils. Chaque profil a un identificateur Profile Id unique et, éventuellement, un Name. Exemple :

<Profiles>
  <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Microsoft Learn example">
    <!-- Add configuration here as needed -->
  </Profile>
</Profiles>

Astuce

doit Profile Id être unique dans le fichier XML. Vous pouvez générer un GUID avec l’applet de commande New-GuidPowerShell .

Vous pouvez définir un Defaultprofile qui est utilisé lorsqu’aucun autre profil n’est associé à un compte d’utilisateur. Cela garantit que chaque utilisateur utilisant l’appareil utilise la même application. Exemple :

<Profiles>
  <DefaultProfile>
    <!-- Add configuration here as needed -->
  </DefaultProfile>
</Profiles>

Shell

Chaque profil définit un Shell élément, qui contient des détails sur l’application à exécuter. L’élément Shell a les propriétés suivantes :

Propriété Description Détails
Shell Application utilisée comme interpréteur de commandes Windows. - Pour les applications de plateforme Windows universelle (UWP), vous devez fournir l’ID de modèle utilisateur de l’application (AUMID). Découvrez comment rechercher l’ID de modèle utilisateur d’application d’une application installée.
- Pour les applications de bureau, spécifiez le chemin d’accès complet de l’exécutable, qui peut contenir des variables d’environnement système sous la forme .%variableName% Vous pouvez également spécifier tous les paramètres dont l’application peut avoir besoin.
V2:AppType Définit le type d’application. Les valeurs autorisées sont Desktop et UWP.
V2:AllAppsFullScreen Valeur booléenne qui définit si toutes les applications sont exécutées en plein écran. - Lorsque la valeur trueest définie sur , le lanceur d’interpréteur de commandes exécute chaque application en plein écran ou agrandie pour les applications de bureau.
- Lorsque la valeur est définie false ou non définie, seule l’application shell personnalisée s’exécute en plein écran ; les autres applications lancées par l’utilisateur s’exécutent en mode fenêtré.

Exemple :

<Profile Id="{GUID}">
  <Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
    <!-- Add configuration here as needed -->
  </Shell>
</Profile>

Dans l’exemple suivant, l’application Météo est exécutée en plein écran.

<?xml version="1.0" encoding="utf-8"?>
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration"
xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <DefaultProfile>
      <Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
        <DefaultAction Action="RestartShell"/>
      </Shell>
    </DefaultProfile>
  </Profiles>
  <Configs/>
</ShellLauncherConfiguration>

Dans l’exemple suivant, Microsoft Edge est exécuté en plein écran, ouvrant un site web. Le site web est rechargé après 2 minutes d’inactivité.

<Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}">
    <Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
        <DefaultAction Action="RestartShell"/>
    </Shell>
</Profile>

ReturnCodeActions

Le lanceur d’interpréteur de commandes définit quatre actions pour gérer les sorties d’application. Vous pouvez personnaliser le lanceur d’interpréteur de commandes et utiliser les actions en fonction d’un code de sortie différent. Voici les ReturnCodeActions énumérations :

  • RestartShell
  • RestartDevice
  • ShutdownDevice
  • DoNothing

Les actions peuvent être utilisées comme action par défaut ou mappées à un code de sortie spécifique. Reportez-vous à Lanceur d’interpréteur de commandes pour découvrir comment utiliser les codes de sortie avec WMI du lanceur d’interpréteur de commandes.

Vous pouvez spécifier au maximum quatre actions personnalisées mappant à quatre codes de sortie, et une action par défaut pour tous les autres codes de sortie. Lorsqu’une application se ferme et que le code de sortie est introuvable dans le mappage d’action personnalisé, ou qu’aucune action par défaut n’est définie, rien ne se produit. Pour cette raison, vous devez au moins définir DefaultAction.

Exemple :

<Profile Id="{GUID}">
  <Shell Shell="" V2:AppType="" V2:AllAppsFullScreen="">
    <ReturnCodeActions>
      <ReturnCodeAction ReturnCode="0" Action="RestartShell"/>
      <ReturnCodeAction ReturnCode="-1" Action="RestartDevice"/>
      <ReturnCodeAction ReturnCode="255" Action="ShutdownDevice"/>
      <ReturnCodeAction ReturnCode="1" Action="DoNothing"/>
    </ReturnCodeActions>
    <DefaultAction Action="RestartDevice"/>
  </Shell>
</Profile>

Configurations

Sous Configs, définissez un ou plusieurs comptes d’utilisateur et leur association à un profil.

Les comptes individuels sont spécifiés à l’aide de <Account Name=""/>.

Important

Avant d’appliquer la configuration du lanceur d’interpréteur de commandes, assurez-vous que le compte d’utilisateur spécifié est disponible sur l’appareil, sinon il échoue.

Pour les comptes de domaine et Microsoft Entra, tant que l’appareil est joint à Active Directory ou à Microsoft Entra, le compte peut être découvert dans la forêt de domaine ou le locataire auquel l’appareil est joint. Pour les comptes locaux, il est nécessaire que le compte existe avant de configurer le compte pour le lanceur d’interpréteur de commandes.

Utilisateur local

Le compte local peut être entré en tant que devicename\user, .\userou simplement user.

<Config>
  <Account Name="Learn Example"/>
  <Profile Id="{GUID}"/>
</Config>

Utilisateur Active Directory

Les comptes de domaine doivent être entrés au format domain\samAccountName.

<Config>
  <Account Name="contoso\user"/>
  <Profile Id="{GUID}"/>
</Config>

Utilisateur Microsoft Entra

Les comptes Microsoft Entra doivent être spécifiés avec le format : AzureAD\{UPN}. AzureAD doit être fourni en l’état, puis suivre avec le nom d’utilisateur principal (UPN) Microsoft Entra.

<Config>
  <Account Name="azuread\user@contoso.onmicrosoft.com"/>
  <Profile Id="{GUID}"/>
</Config>

Lorsque le compte d’utilisateur se connecte, le profil lanceur d’interpréteur de commandes associé est appliqué, chargeant l’application spécifiée dans le profil.

Compte de connexion automatique

Avec <AutoLogonAccount>, le lanceur d’interpréteur de commandes crée et gère un compte d’utilisateur pour se connecter automatiquement après le redémarrage d’un appareil. Le compte est un utilisateur standard local nommé Kiosk.

Exemple :

<Configs>
  <Config>
    <!--account managed by Shell Launcher-->
    <AutoLogonAccount/>
    <Profile Id="{GUID}"/>
  </Config>
  <Configs>
    <!--local account-->
    <Account Name="Learn Example"/>
    <Profile ID="{GUID}"/>
  </Configs>
  <Configs>
    <!--Microsoft Entra account-->
    <Account Name="azuread\kiosk@contoso.com"/>
    <Profile ID="{GUID}"/>
  </Configs>
</Configs>

Exemple

Voici un exemple complet de fichier de configuration du lanceur d’interpréteur de commandes, avec deux profils et trois configurations :

<?xml version="1.0" encoding="utf-8"?>
<ShellLauncherConfiguration xmlns="http://schemas.microsoft.com/ShellLauncher/2018/Configuration" xmlns:V2="http://schemas.microsoft.com/ShellLauncher/2019/Configuration">
  <Profiles>
    <DefaultProfile>
      <Shell Shell="%SystemRoot%\explorer.exe" />
    </DefaultProfile>
    <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" Name="Weather">
      <Shell Shell="Microsoft.BingWeather_8wekyb3d8bbwe!App" V2:AppType="UWP">
        <DefaultAction Action="RestartShell" />
      </Shell>
    </Profile>
    <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" Name="Edge">
      <Shell Shell="%ProgramFiles(x86)%\Microsoft\Edge\Application\msedge.exe --kiosk https://www.contoso.com --edge-kiosk-type=fullscreen --kiosk-idle-timeout-minutes=2" V2:AppType="Desktop" V2:AllAppsFullScreen="true">
        <ReturnCodeActions>
          <ReturnCodeAction ReturnCode="0" Action="RestartShell" />
          <ReturnCodeAction ReturnCode="-1" Action="RestartDevice" />
          <ReturnCodeAction ReturnCode="255" Action="ShutdownDevice" />
        </ReturnCodeActions>
        <DefaultAction Action="RestartShell" />
      </Shell>
    </Profile>
  </Profiles>
  <Configs>
    <Config>
      <AutoLogonAccount />
      <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
    </Config>
    <Config>
      <Account Name="azuread\kiosk1@contoso.onmicrosoft.com" />
      <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F79}" />
    </Config>
    <Config>
      <Account Name="azuread\kiosk2@contoso.onmicrosoft.com" />
      <Profile Id="{EDB3036B-780D-487D-A375-69369D8A8F78}" />
    </Config>
  </Configs>
</ShellLauncherConfiguration>