Utiliser une Séquence de Tâches pour le type de déploiement d’une application contenant des informations sensibles

Introduction

Introduite avec ConfigMgr 2002, la fonctionnalité « Séquence de Tâches pour le type de déploiement » est disponible en préversion. Cela signifie qu’elle est toujours en développement actif et qu’elle peut contenir des bogues. Utiliser une Séquence de Tâches (TS pour Task Sequence en anglais) pour le type de déploiement permet des processus d’installation plus complexes et qui peuvent même contenir des redémarrages. Et puisqu’il s’agit d’une Séquence de Tâches, vous pouvez également bénéficier de nombreuses autres fonctionnalités comme l’utilisation des variables de TS. Ce sera d’ailleurs le point central de ce billet.

En effet, certaines applications nécessitent la fourniture d’un mot de passe ou d’autres informations sensibles durant leur processus d’installation. Avec un type de déploiement d’application standard, cela signifie souvent que ces informations doivent être stockées en texte clair (Ce qui n’est pas le meilleur moyen pour les garder secrètes). Avec le modèle Séquence de Tâches, vous pouvez utiliser des variables de TS qui peuvent être cachées. Bien qu’elles ne soient pas sûres à 100%, il est tout de même bien plus difficile d’accéder à l’information que vous souhaitez cacher.

Prérequis et limitations

Pour utiliser la fonctionnalité « Séquence de tâches pour le type de déploiement », vous devez avoir installé à minima Configuration Manager Current Branch 2002. Vous devez également activer la fonctionnalité en préversion. Une fois ces prérequis remplis, tout est bon.

Il est cependant important de noter que ce type de déploiement connait quelques limitations :

  • Il n’est possible d’utiliser que des étapes de TS non relatives au déploiement de système d’exploitation (Comme Installer le package, Exécuter la ligne de commande ou Exécuter le script PowerShell) ;
  • Vous ne pouvez pas sélectionner l’option pour une TS à fort impact dans les options de TS sous l’onglet Notification Utilisateur.

De plus, il y a quelques problèmes connus (Rappelez-vous qu’il s’agit d’une fonctionnalité en préversion) :

  • Dans la version 2006 et les versions antérieures, il est impossible de déployer une application utilisant une Séquence de Tâches pour le type de déploiement sur un regroupement utilisateur ;
  • Il est impossible d’utiliser l’étape Installer l’Application.

Comment créer une application avec un type de déploiement de Séquence de Tâches

Avant de commencer avec un exemple concret, voici un guide rapide expliquant comment créer une application utilisant une Séquence de Tâches comme type de déploiement en quelques étapes faciles.

  1. Créez un package qui contient les sources de l’application que vous souhaitez installer mais ne créez pas de programme associé ;
  2. Créez une Séquence de Tâches qui exécute toutes les actions nécessaires à l’installation de votre application (Dont une étape utilisant le package précédemment créé) ;
  3. Créez une application and choisissez le paramètre « Déploiement personnalisé ». Lorsque vous en êtes à créer un type de déploiement, sélectionnez Séquence de Tâches et choisissez votre TS. Vous pouvez également en sélectionner une pour la désinstallation de l’application ;
  4. Déployez l’application comme n’importe quelle autre.

Note : si vous ne pouvez pas trouver votre TS dans le menu déroulant, vérifiez vos permissions de sécurité basées sur des rôles (RBAC). Afin de pouvoir ajouter un déploiement de type TS, le compte utilisé doit avoir la permission Lire les Séquences de Tâches. Cela peut être obtenu en donnant au compte le rôle Analyste en lecture seule (Qui peut voir tous les objets dans Configuration Manager) or en créant un rôle personnalisé ayant les permissions suffisantes. Si les permissions sont bonnes, vérifiez bien que la TS ne contient aucune étape relative au déploiement de système d’exploitation et que vous ne l’avez pas configurée comme une TS à fort impact.

Case d’usage : installation du Microsoft Monitoring Agent pour remonter des informations dans Microsoft Defender ATP

Après cette (longue) introduction, parlons d’un cas d’usage en environnement réel et voyons comme le Microsoft Monitoring Agent (MMA) peut être installé et paramétré pour remonter des informations dans Microsoft Defender ATP (MD ATP) sans jamais montrer les informations de l’espace de travail en clair (Que ce soit dans les logs ou les paramètres de l’application).

En effet, lorsque vous paramétrez le MMA pour se connecter au service Azure Log Analytics (Le composant utilisé par MD ATP pour collecter les données des OS autres que Windows 10 ou Windows Server 2019), vous devrez ajouter un Workspace ID et une Workspace Key. Il est alors mieux que ces deux valeurs ne soient pas visibles dans un script d’installation, une ligne de commandes ou un fichier de log. Nous allons donc les cacher.

1. Création du package

La première étape est de créer un package contenant les sources du MMA (Souvenez vous qu’il est impossible d’utiliser l’étape Installer l’application dans une TS utilisée comme type de déploiement). Cette fois-ci, créez un package ne contenant que les sources et ne créez pas de programme. Une fois qu’il est terminé, distribuez le package sur vos points de distribution cibles.

Notez que l’exécutable du MMA est particulier. Lorsque vous téléchargez les sources depuis cette page, il est nécessaire de les extraire car le ficher MMA-Setup_AMD64.exe ne peut pas être utilisé pour une installation silencieuse. Utilisez donc la commande suivante pour en extraire le contenu et utilisez ce contenu extrait comme sources de votre package.

MMASetup-AMD64.exe /c /t:<Full Extraction Path>
Sources du package

2. Création de la Séquence de Tâches

Une fois le package terminé, vous pouvez commencez à travailler sur la Séquence de Tâches. Dans notre cas, seules quelques étapes seront nécessaires.

D’abord, paramétrez deux variables de Séquence de Tâches pour stocker le Workspace ID et la Workspace key que vous pouvez trouver sur le portail MD ATP. Ensuite, paramétrez une troisième variable nommée OSDDoNotLogCommand à la valeur True pour cacher les lignes de commandes dans les logs. Alternativement, vous pouvez aussi paramétrer OSDLogPowerShellParameters à False pour cacher les paramètres de PowerShell dans le fichier smsts.log (Si vous utilisez PowerShell plutôt que CMD pour installer votre application).

L’étape suivante est l’installation de l’application elle-même. Utilisez l’étape Exécuter la ligne de commande et sélectionnez le package créé précédemment ainsi que la ligne de commande suivante (Extraite de la documentation en ligne).

setup.exe /qn NOAPM=1 ADD_OPINSIGHTS_WORKSPACE=1 OPINSIGHTS_WORKSPACE_AZURE_CLOUD_TYPE=0 OPINSIGHTS_WORKSPACE_ID="%WorkspaceID%" OPINSIGHTS_WORKSPACE_KEY="%WorkspaceKey%" AcceptEndUserLicenseAgreement=1

Notez qu’à la place des Workspace ID et clé, vous devez appeler les deux variables de TS que vous avez définies à l’étape précédente. Cela est réalisé en entourant le nom de la variable avec le symbole %.

Et voilà ! La Séquence de Tâches est prête et comme vous pouvez le voir, elle est plutôt simple.

Une alternative à l’étape de création de variable de TS est d’utiliser des variables de regroupement. Ainsi, vous pouvez avoir des paires de variables différentes si vous souhaitez rapporter sur différents espaces de travail. Sur la capture d’écran ci-dessus, vous pouvez également remarquer qu’une autre variable nommée MMA_ProxyURL est utilisée. Celle-ci est définie en utilisant une variable de regroupement car l’URL du proxy diffère en fonction de la localisation du serveur dans l’environnement utilisé.

3. Création de l’application

La dernière étape est la création de l’application elle-même. Créez une nouvelle application et sélectionnez un type de déploiement personnalisé. Quand vous devez choisir un type de déploiement, choisissez Séquence de Tâches. Cela vous amènera à un écran vous permettant de choisir deux TS. Une pour l’installation (Obligatoire) et une pour la désinstallation (Facultative) de l’application.

Sélection de la Séquence de Tâches

4. Teste du résultat

Maintenant que l’application est prête, déployez la sur un regroupement d’appareils pour installer l’agent sur un serveur. Une fois qu’il est installé, regardez les logs. Il faut consulter le fichier smsts.log puisque l’installation est exécutée par l’intermédiaire d’une Séquence de Tâches. Comme vous pouvez le remarquer ci-dessous, l’ID et la clé de l’espace de travail ne sont jamais affichés (Voir la ligne surlignée en jaune).

Si vous vous connectez sur le serveur et que vous lancez le Microsoft Monitoring Agent, vous pouvez voir qu’il est enregistré auprès du service Azure Log Analytics donc tout a fonctionné comme prévu.

Conclusion

La Séquence de tâches pour le type de déploiement d’application peut vous aider à déployer des applications qui requièrent des processus d’installation complexes. Mais elles peuvent aussi être utilisées pour déployer des applications simples qui nécessitent un mot de passe ou toute autre information sensible. Ces informations peuvent alors être cachées en utilisant des variables de TS. Cependant, toutes les étapes que cela implique (Création d’un package, d’une TS et enfin d’une application) complexifient quelque peu le processus complet de la création et du déploiement d’une application.

A propos de l'auteur

Michael DE BONA

Expert poste de travail et MEMCM qui aime automatiser ce qu'il peut avec PowerShell et Configuration Manager.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *