Lors du déploiement d’une application, il peut être nécessaire que certains processus soient fermés. C’est le cas lors de l’installation d’un nouveau logiciel ou bien d’une mise à jour. Par exemple, si vous mettez à jour Firefox, il faudra que le navigateur soit fermé avant de démarrer la mise à jour. Dans d’autres cas, la mise à jour peut fermer d’elle-même l’application sans prévenir l’utilisateur. Cela peut provoquer des pertes de données et l’expérience utilisateur est mauvaise dans tous les cas.
Fort heureusement, il est possible de vérifier si un process est lancé ou non sans avoir à utiliser un script à chaque mise à jour. Nous allons utiliser les conditions globales de SCCM. Pour cet exemple, je prendrai l’application Teams pour laquelle je dois vérifier qu’elle est bien fermée. Je veux en effet désactiver le démarrage automatique comme décrit dans ce post.
Allez dans « Bibliothèque de logiciels », développez « Gestion des applications » puis cliquez sur « Conditions globales ». Cliquez ensuite sur « Créer une condition globale ».
Tapez le nom de l’application (Teams). Sélectionnez « Script » dans type de paramètre et « Booléen » dans le type de données. Cliquez ensuite sur « Ajouter un script ».
Entrez la ligne de commande suivante :
[bool] (Get-Process teams -ea 0)
Cliquez ensuite sur OK puis encore une fois OK. Votre condition globale est maintenant créée. Pour l’utiliser, rendez-vous sur votre application, onglet « Spécifications » et cliquez sur « Ajouter ». Dans la première liste déroulante, sélectionnez « Personnalisé » et dans « Conditions », choisissez votre condition globale. 3 nouvelles listes déroulantes apparaissent, modifiez la valeur à « Faux ».
De cette façon, le déploiement ne se lancera que si l’application est fermée. L’inverse est également possible, en choisissant « Vrai ».