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
. Chaqueprofile
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
- l’application qui remplace l’interpréteur de commandes Windows standard (
- Un ou plusieurs
configs
. Chacunconfig
associe un compte d’utilisateur à unprofile
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-Guid
PowerShell .
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 true est 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
, .\user
ou 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>