Comment automatiser le déploiement de logiciels et de paramètres avec WinGet Configuration (DSC)

Configurer ou modifier les paramètres Windows via WinGet et DSC peut s’avérer fastidieux, surtout si vous souhaitez automatiser des tâches ou synchroniser plusieurs machines. Vous avez peut-être déjà expérimenté l’installation, la désinstallation ou la modification du registre d’applications à l’aide de fichiers YAML, mais vous rencontrez des difficultés pour appliquer ou tester ces modifications sans risquer de tout casser. C’est parfois un vrai casse-tête, notamment à cause de la syntaxe, des particularités des commandes, ou tout simplement parce qu’on ne sait pas si la configuration fonctionne comme prévu. L’objectif est ici de proposer une méthode relativement fiable pour déployer des configurations déclaratives avec WinGet, afin de gérer votre environnement par le code plutôt que par des clics répétés.

Comment gérer les paramètres Windows avec WinGet et DSC

Méthode 1 : Exécution des commandes de configuration WinGet prises en charge par DSC

Si vous vous intéressez à l’automatisation, sachez que WinGet prend en charge la configuration d’état souhaité (DSC) depuis la version 1.6.2631. En clair, vous pouvez définir la configuration système souhaitée dans un fichier YAML et laisser WinGet se charger du reste. C’est un peu comme dire à Windows : « Assurez-vous d’avoir Firefox, Notepad++ et PowerToys installés, et désinstallez 7-Zip », le tout en une seule opération.

Assurez-vous d’abord que votre version de WinGet est à jour, ou au moins la version 1.6.2631 ou une version plus récente, car les versions antérieures ne prennent pas en charge le DSC. Si vous n’avez pas encore activé la prise en charge du DSC, exécutez :

winget configure --enable

Avant toute chose, il est judicieux de valider la syntaxe de votre fichier YAML. Les fichiers YAML dépendent fortement de l’indentation et des espaces ; personne ne souhaite voir une erreur due à une tabulation ! Pour vérifier la syntaxe, procédez comme suit :

winget configure validate winget_configure_dsc_sample_win11.yaml

Cela vous indiquera si votre fichier YAML est valide. En cas d’erreurs d’indentation, corrigez-les. Sur certaines configurations, bien que ce soit parfois aléatoire, la validation échoue si le fichier YAML est incorrect, puis fonctionne correctement après correction.

Application de la configuration

Une fois votre fichier prêt, il est temps de déployer la configuration. Imaginez que vous « demandez à Windows de se mettre en marche » en fonction de votre spécification YAML. Exécutez :

winget configure --file winget_configure_dsc_sample_win11.yaml --accept-configuration-agreements

Cette commande lit votre fichier YAML, installe ou supprime des applications, modifie les paramètres du registre et ajuste même les fonctionnalités de Windows comme décrit. Le ConfigurationRemotingServer.exeprocessus se lance et applique toutes les modifications déclarées, en affichant un journal de ses opérations. Plutôt pratique, non ?

Pour vérifier si votre configuration actuelle correspond à votre fichier YAML sans y apporter de modifications, effectuez un test à blanc ; c’est comme une vérification. La commande ressemble à ceci :

winget configure test -f winget_configure_dsc_sample_win11.yaml --accept-configuration-agreements

Si votre système n’est pas déjà conforme au fichier YAML, vous recevrez le message suivant : « Le système n’est pas dans l’état de configuration décrit.» Cela signifie que votre système n’est pas encore prêt, mais cela sera corrigé lors du prochain déploiement complet.

Autres conseils : Utilisation de fichiers YAML externes et d’identifiants d’application

Vous souhaitez automatiser encore plus de processus ? Vous pouvez héberger vos configurations YAML sur des sites externes comme GitHub ; il vous suffit de fournir l’URL :

winget configure --accept-configuration-agreements --disable-interactivity -f https://raw.githubusercontent.com/yourrepo/yourconfig.yaml

Cela simplifie considérablement le déploiement automatisé sur plusieurs machines : aucune copie manuelle n’est nécessaire. Assurez-vous simplement que votre fichier YAML utilise une indentation correcte, notamment s’il fait référence à des identifiants d’application ou à des modifications du registre.

Par exemple, pour trouver l’identifiant de l’application PowerToys dans le Microsoft Store, exécutez :

winget show powertoys -s msstore

Et pour rechercher des applications par nom :

winget search appname

Ou lister les applications installées :

winget list

Cela s’avère utile lors de la création de votre fichier YAML, car vous avez besoin des identifiants d’application ou des noms de package exacts pour les installations/suppressions d’applications.

Quelques pièges et dernières remarques

Le format YAML est sensible à l’indentation : utilisez uniquement des espaces, pas de tabulations. Sur certaines machines, la première application des configurations peut générer des erreurs, qui peuvent ensuite fonctionner correctement après un redémarrage ou une nouvelle tentative. Enfin, il est important de consulter régulièrement les journaux qui s’affichent afin de résoudre les problèmes ou de vérifier les modifications apportées.

Bien que cette configuration ne soit pas parfaite, elle offre une solution élégante pour configurer votre environnement Windows selon vos besoins, que ce soit à grande échelle ou uniquement pour votre poste de travail. N’oubliez pas que vous comptez sur la fiabilité du YAML ; il est donc conseillé de tester d’abord des configurations simples avant d’effectuer des modifications importantes.

Résumé

  • Mettez à jour WinGet au moins à la version 1.6.2631 pour la prise en charge DSC.
  • Activer la prise en charge DSC avecwinget configure --enable
  • Validez vos fichiers YAML avecwinget configure validate
  • Appliquer les configurations avecwinget configure --file yourfile.yaml
  • Utilisez `winget show` et `winget search` pour trouver des applications et des identifiants.
  • En option, configuration de l’hôte en ligne pour l’automatisation
  • Faites attention à l’indentation et aux journaux YAML.

Conclure

Ce processus peut paraître un peu fastidieux au début, mais une fois maîtrisé, c’est une excellente façon d’automatiser la configuration de Windows. Les fichiers de configuration YAML, notamment avec DSC, offrent une méthode déclarative et reproductible pour contrôler votre environnement sans avoir à cliquer sans cesse. Je ne sais pas pourquoi il semble parfois un peu instable, mais bon, c’est Windows ! Il faut bien aimer ses petites bizarreries. J’espère que cela aidera certains à simplifier leur flux de travail, ou au moins à gagner du temps.