Actions de paquet et règles de détection App Distribution (Distribution d'applis)
Les actions de paquet définissent la façon dont App Distribution (Distribution d'applis) va déployer vos paquets. Les règles de détection de paquets permettent à App Distribution de déterminer si une appli doit être déployée sur un périphérique.
Actions de paquet
Configurez les actions de paquet dans App Distribution (Distribution d'applis) > Catalogue d'applis. Ajoutez ou modifiez une appli, puis sélectionnez l'onglet Paquet. Faites glisser les actions que vous souhaitez utiliser jusqu'à l'arborescence du générateur. Sélectionnez une action dans l'arborescence du générateur pour la configurer.
Les actions de paquet disponibles sont les suivantes :
Vous aident à déterminer si l'appli est déjà installée afin qu'elle ne soit pas réinstallée.
IMPORTANT : Si une étape de détection se résout sur true (vrai), le traitement du paquet s'arrête et l'état d'applis du périphérique devient Conforme.
Pour en savoir plus sur les règles de détection disponibles, reportez-vous à « Règles de détection de paquet », plus loin dans cette rubrique.
Télécharge un fichier dans le dossier de travail par défaut Ivanti App Distribution :
C:\Program Data\Ivanti\Ivanti Cloud Agent\Agent\SWD\working
Toute action qui accepte un chemin de fichier utilise ce chemin, sauf indication contraire de votre part. Ce dossier est effacé avant et après l'exécution de chaque paquet.
Vous pouvez indiquer plusieurs fichiers et configurer, si nécessaire, plusieurs actions de téléchargement de fichiers. Les fichiers peuvent être hébergés dans n'importe quel dossier HTTP(S) ne nécessitant aucune authentification et accessible pour les clients destinataires du déploiement.
Vous pouvez entrer ou coller une URL dans le champ URL source. L'URL que vous indiquez doit renvoyer directement au fichier à télécharger. Le nom de fichier détecté à partir de l'URL apparaît à côté du bouton Choisir un fichier.
Utilisez le bouton Ajouter un nouveau fichier pour ajouter d'autres URL de fichier de téléchargement si nécessaire. Si vos fichiers sont stockés dans le stockage Blob Microsoft Azure ou dans des buckets Amazon Web Services, utilisez le bouton Choisir un fichier pour ouvrir l'explorateur de fichiers Cloud.
Explorateur de fichiers Cloud
Le bouton Choisir un fichier ouvre l'explorateur de fichiers Cloud, où vous pouvez choisir des fichiers dans le stockage Blob Microsoft Azure ou les buckets Amazon Web Services de votre entreprise. Ivanti Neurons n'inclut aucun compte de stockage Azure et Amazon.
- Pour en savoir plus sur la création d'un conteneur de stockage dans Azure, consultez cet article Microsoft.
- Pour en savoir plus sur la création d'un bucket dans Amazon S3, consultez cet article Amazon.
Avant d'utiliser l'explorateur de fichiers Cloud, vous devez ajouter vos références d'authentification pour le stockage Blob Azure ou AmazonS3 sous Admin > Références d'authentification. Pour en savoir plus, reportez-vous à « Références d'authentification ». Avec Azure, nous vous recommandons de créer des références d'authentification dans Ivanti Neurons à la fois pour les deux clés Azure (key1 et key2) afin de permettre la rotation des clés Azure. Vous pouvez ensuite sélectionner le compte voulu dans l'explorateur de fichiers Cloud.
Ces références d'authentification servent à remplir la liste des dossiers et des fichiers, pour que l'action Télécharger un fichier puisse obtenir les URL de signature d'accès partagé (Microsoft Azure) ou les URL présignées (Amazon Web Services) pour les fichiers sélectionnés. Les clients n'utilisent pas ces références d'authentification.
Après avoir ajouté des références, vous pouvez choisir un compte et un conteneur de stockage Cloud, ou bien un bucket dans l'explorateur de fichiers Cloud. Le navigateur de conteneurs affiche les fichiers et dossiers stockés à cet endroit. Ajoutez un ou plusieurs fichiers en cochant la case correspondante, puis en cliquant sur le bouton Ajouter. Les URL des fichiers ajoutés s'affichent dans les propriétés de l'action Télécharger un fichier.
Les fournisseurs de stockage Cloud exigent que les jetons d'URL générés aient une date d'expiration. App Distribution (Distribution d'applis) définit le délai d'expiration des jetons sur 7 jours, et renouvelle le jeton tous les 5 jours pour éviter toute perte d'accès depuis les clients ciblés.
Le filtrage des fichiers Cloud dans le champ de texte Filtrer par Préfixe est limité par les API Microsoft et Amazon S3. Le filtre se limite au dossier sélectionné, il n'inclut pas les sous-dossiers. Le texte de filtre que vous entrez doit indiquer le nom exact du fichier (et est sensible à la casse), en commençant par le premier caractère du nom de fichier voulu. Vous n'avez pas besoin de taper tout le nom de fichier, seulement les premiers caractères.
Cliquez sur Supprimer pour supprimer l'objet sélectionné (fichier ou dossier). Vérifiez que vous avez sélectionné un seul objet avant de cliquer sur Supprimer. Vous voyez un message d'erreur si vous essayez de supprimer plusieurs objets à la fois. Pour supprimer un dossier, vous devez d'abord supprimer son contenu (un objet à la fois).
Stockage Cloud Ivanti
Dans la version 2024.4 d'Ivanti, nous avons ajouté la prise en charge du stockage Cloud Ivanti, que vous pouvez utiliser pour stocker les paquets et les fichiers à distribuer. Cela s'avère utile pour les clients qui n'ont pas encore de compte de stockage Blob Azure ou Amazon S3.
Vous n'avez besoin d'aucune configuration ni référence d'authentification supplémentaire pour utiliser le stockage Cloud Ivanti. Chaque locataire Ivanti Neurons dispose de son propre conteneur de stockage Azure Ivanti.
Dans l'action App Distribution (Distribution d'applis) Télécharger un fichier, vous pouvez accéder à l'explorateur de fichiers Cloud. Là, vous pouvez sélectionner Stockage Ivanti sous Compte. Vous pouvez ensuite utiliser le bouton Télécharger les fichiers pour télécharger les fichiers à distribuer. Vous pouvez également utiliser le bouton Supprimer pour supprimer des fichiers.
Gardez les remarques suivantes à l'esprit quand vous utilisez le stockage Cloud Ivanti :
- Le stockage Cloud Ivanti est limité à 10 Go et l'explorateur de stockage Cloud vous indique la quantité d'espace que vous utilisez. Il n'existe aucune option permettant d'étendre cette quantité de stockage.
- À cet endroit, la taille des fichiers ne peut pas dépasser 2 Go.
- Ivanti inclut un service qui analyse les fichiers téléchargés à la recherche de malwares. Si un malware est détecté, le fichier est supprimé et un message de notification Ivanti Neurons le signale.
- Si vous utilisez uniquement le stockage Cloud Ivanti, vous n'avez pas besoin de configurer le CORS (Cross-Origin Resource Sharing - Partage des ressources entre origines multiples).
- La création de dossiers n'est pas prise en charge.
Téléchargement de fichiers
Utilisez le bouton Télécharger les fichiers pour rechercher et télécharger les fichiers voulus. Les fichiers téléchargés sont placés dans le dossier que vous avez choisi dans l'explorateur. Les fichiers téléchargés ne peuvent pas dépasser 2 Go. Vous ne pouvez télécharger qu'un seul fichier à la fois. Le téléchargement des fichiers volumineux peut être assez long, si bien que les fichiers téléchargés n'apparaissent pas toujours immédiatement dans l'explorateur.
Une barre de progression s'affiche pendant la préparation du fichier sélectionné en vue du téléchargement. Pendant le téléchargement, vous voyez un indicateur Traitement en cours. À la fin du téléchargement, un message vous indique si l'opération a réussi ou échoué.
Pour télécharger des fichiers de plus de 2 Go, utilisez les outils de gestion natifs Amazon ou Azure.
Vous devez configurer le CORS (Partage des ressources entre origines multiples) avant de pouvoir télécharger des fichiers. Si vous essayez de télécharger un fichier alors que le CORS n'est pas configuré, un message vous signale qu'il faut d'abord configurer le CORS.
Configuration du téléchargement vers le stockage Blob Azure
Azure configure le CORS au niveau du compte, pas au niveau du conteneur. Vous trouverez les informations Microsoft concernant la configuration du CORS ici.
- Méthodes autorisées : PUT
- En-têtes autorisés : content-type,x-ms-client-request-id,x-ms-useragent,x-ms-version
- En-têtes exposés : Etag
- Origines autorisées : Domaine affiché dans l'URL de navigateur sur votre page de connexion Ivanti Neurons (et pas l'URL visible une fois que vous êtes connecté). Cela varie en fonction de l'endroit où votre locataire est hébergé. Par exemple : https://nvuprd-sfc.ivanticloud.com, https://ukuprd-sfc.ivanticloud.com, etc.
Configuration du téléchargement vers Amazon S3
Amazon S3 configure le CORS au niveau du bucket, pas au niveau du compte. Vous trouverez les informations Amazon concernant la configuration du CORS ici.
- Méthodes autorisées : PUT
- En-têtes autorisés : content-type
- En-têtes exposés : Etag
- Origines autorisées : Domaine affiché dans l'URL de navigateur sur votre page de connexion Ivanti Neurons (et pas l'URL visible une fois que vous êtes connecté). Cela varie en fonction de l'endroit où votre locataire est hébergé. Par exemple : https://nvuprd-sfc.ivanticloud.com, https://ukuprd-sfc.ivanticloud.com, etc.
Valeur de hachage SHA256
L'option de téléchargement de fichier inclut également un champ facultatif pour la valeur de hachage. Si vous entrez un hachage, App Distribution (Distribution d'applis) vérifie la valeur de hachage du fichier téléchargé. Si cette valeur ne correspond pas, App Distribution (Distribution d'applis) supprime le fichier téléchargé et arrête la distribution. Pour que votre distribution d'appli utilise des technologies de distribution avancées comme le téléchargement P2P (entre homologues), vous devez fournir une valeur de hachage.
L'action Exécuter de base vous permet de spécifier le fichier à exécuter, une ligne de commande et le nom d'utilisateur servant à exécuter le programme d'installation. Les actions Exécuter MSI et Exécuter MSIX vous permettent de choisir des opérations et des options d'affichage propres à MSI, MSP et MSIX.
Les valeurs disponibles sont Créer un dossier, Déplacer/Copier/Supprimer un fichier, et Zipper ou Dézipper.
Redémarre le périphérique en respectant sa stratégie d'agent. Si une appli nécessite un redémarrage, aucune autre appli ne peut être installée sur le périphérique tant qu'il n'a pas redémarré.
Créez ou supprimez des clés de registre. Définissez ou supprimez des valeurs de registre.
Exécutez un fichier batch ou un script PowerShell. L'option PowerShell Core n'installe pas PowerShell Core s'il est absent. L'option Auto commence par chercher PowerShell Core, puis, s'il n'est pas installé, elle se rabat sur PowerShell. Un éditeur de script est intégré à cette action. Vous devez ajouter votre code de script dans cet éditeur.
Suspend l'exécution du paquet pendant le nombre de secondes que vous indiquez. Utilisez cette option si de précédentes actions ont besoin de plus de temps pour s'exécuter.
Gère un paquet avec Gestionnaire de package Windows (winget).
Cette action est configurée automatiquement lorsque vous sélectionnez Ajouter une application > Gestionnaire de package Windows (winget) dans la page principale Catalogue d'applis et que vous sélectionnez un paquet. Cette action n'a pas besoin d'autres actions ou de modifications pour fonctionner.
Si nécessaire, vous pouvez ajouter et configurer cette action manuellement. Vous pouvez aussi utiliser cette action en combinaison avec d'autres actions et règles de détection.
Pour en savoir plus sur l'utilisation de Winget, consultez cette publication Microsoft.
Le gestionnaire de paquets exige une version récente de Winget sur les périphériques gérés. Si vous avez désactivé Microsoft Store sur les périphériques gérés, leur version de Winget peut être obsolète et les distributions Gestionnaire de paquets à leur attention échouent. Pour résoudre le problème, déployez un paquet qui met à jour la version de Winget ou activez Microsoft Store.
Le volet Options Gestionnaire de paquets inclut le bouton Choisir un paquet, qui affiche les paquets disponibles dans le catalogue Winget. C'est le même catalogue qui s'affiche lorsque vous cliquez sur le bouton Ajouter une application dans la page principale Catalogue d'applis.
Le catalogue d'applis inclut uniquement les applis du référentiel winget, pas celles du référentiel msstore. Si vous disposez d'un ID d'appli msstore, vous pouvez le spécifier manuellement sur la ligne de commande après le paramètre --id, comme indiqué plus loin dans cette section.
Entrez du texte dans le champ Rechercher des paquets pour rechercher toutes les métadonnées de tous les paquets du catalogue. Pour rechercher un texte de paquet dans une catégorie de métadonnées spécifique, faites commencer votre texte de recherche par name: (nom), publisher: (éditeur), etc. comme dans l'exemple affiché quand vous cliquez sur le champ de recherche.
App Distribution installe la version disponible la plus récente du paquet que vous sélectionnez, quelle que soit la version figurant dans le catalogue. Vous pouvez également configurer l'action manuellement pour installer une version spécifique.
Le choix d'un paquet Winget dans le catalogue remplit le champ Arguments de ligne de commande pour l'installation de ce paquet. Vous pouvez modifier la ligne de commande si nécessaire.
Voici un exemple de ligne de commande Winget :
install -e --id GitHub.GitHubDesktop --accept-package-agreements --accept-source-agreements --silent
Pour installer un paquet absent du catalogue d'applis, vous pouvez créer votre propre ligne de commande Winget. Dans la fenêtre d'invite de commande Windows, la commande winget search <query> renvoie la liste des paquets concordants. Repérez la chaîne de colonne ID du paquet voulu et ajoutez-la dans la ligne de commande Winget après le paramètre --id.
L'auteur d'un paquet Winget peut inclure des programmes d'installation dans le paquet, avec l'étendue user (utilisateur connecté), machine (tous les utilisateurs) ou null (non spécifié). Par défaut, Winget tente de trouver la meilleure correspondance pour le périphérique. C'est souvent user.
Vous pouvez écraser cette sélection automatique en spécifiant une étendue dans la ligne de commande, avec le paramètre --scope. Par exemple, pour que le paquet soit installé pour tous les utilisateurs d'un périphérique, vous pouvez inclure --scope machine dans la ligne de commande Winget. Notez que, si le paquet ne prend pas en charge l'étendue Machine et que vous incluez ce paramètre dans la liste de commande, l'installation du paquet échoue.
Comme toujours, veillez à tester votre ligne de commande avant de déployer votre paquet.
Règles de détection de paquets
Les règles de détection de paquets vous aident à déterminer si un paquet est déjà installé afin qu'il ne soit pas réinstallé.
Configurez les règles de détection de paquets dans App Distribution (Distribution d'applis) > Catalogue d'applis. Ajoutez ou modifiez une appli, puis sélectionnez l'onglet Paquet. Ajoutez l'action avant déploiement Détection à l'arborescence du générateur, pour sélectionnez-la pour la configurer.
Les règles de détection ne sont vérifiées qu'au début du processus de traitement d'un paquet. C'est pourquoi l'action de détection est toujours la première entrée du générateur si vous l'utilisez. Les règles de détection s'exécutent dans l'ordre où elles sont définies.
IMPORTANT : Si une étape de détection se résout sur true (vrai), le traitement du paquet s'arrête et l'état d'applis du périphérique devient Conforme.
Les règles de détection disponibles sont les suivantes :
Fournissez le chemin complet et le nom du fichier. Sélectionnez Existe ou N'existe pas.
Les informations de version du fichier ne sont généralement disponibles que pour les fichiers exécutables. App Distribution utilise la valeur « Version de fichier », pas la valeur « Version de produit ». Fournissez le chemin complet et le nom du fichier. Vous pouvez utiliser différentes variantes des opérateurs Inférieur à, Supérieur à, Égal à ou Est compris entre. Si le fichier et le chemin spécifiés n'existent pas ou si le fichier n'a pas de version analysable, le système renvoie false (faux).
Pour en savoir plus sur le fonctionnement des opérateurs de version et de comparaison, reportez-vous à l'article Microsoft suivant.
Fournissez le chemin complet et le nom du fichier. Spécifiez la taille du fichier en octets. App Distribution (Distribution d'applis) utilise « Taille », pas « Taille sur le disque ». Si le fichier et le chemin spécifiés n'existent pas, le système renvoie false (faux).
Fournissez le chemin complet et le nom du fichier. Sélectionnez la longueur de bits SHA-2 que vous comparez. Si le fichier et le chemin spécifiés n'existent pas, le système renvoie false (faux). Vous pouvez utiliser PowerShell pour générer une valeur Digest de hachage :
-
Get-FileHash -Algorithm SHA256 -Path C:\MonAppi\monfichier.exe
Cette règle ne tient compte que de la date, pas de l'heure. Fournissez le chemin complet et le nom du fichier. Sélectionnez un opérateur, comme Égal à. La date du fichier doit être spécifiée au format UTC (temps universel coordonné), correspondant à l'équivalent local du format mm/jj/aaaa. App Distribution (Distribution d'applis) utilise la date de modification, pas la date de création. Si le fichier et le chemin spécifiés n'existent pas, le système renvoie false (faux). Vous pouvez utiliser PowerShell pour récupérer la date du fichier au format UTC :
-
(Get-Item C:\MonAppli\monfichier.exe).LastWriteTimeUtc
Fournissez le GUID de code produit du MSI et indiquez si ce MSI est installé ou n'est pas installé. Utilisez l'outil Orca de Microsoft pour afficher le GUID « ProductCode ». Vous pouvez également voir les GUID des MSI installés sous les clés de registre suivantes :
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
Fournissez le nom complet du paquet MSIX et indiquez si ce MSIX est installé ou n'est pas installé. Utilisez la commande PowerShell Get-AppxPackage pour rechercher le nom complet du paquet, tel que Microsoft le décrit ici.
Fournissez les informations de clé de registre pour la clé à détecter.
- Version du registre : Sélectionnez 32 bits ou 64 bits selon le cas, ou bien sélectionnez Système si vous voulez automatiquement trouver la version utilisée par le périphérique cible.
- Clé racine : Sélectionnez la clé racine contenant la clé à détecter, comme HKEY_LOCAL_MACHINE.
- Clé : Entrez le chemin complet (sans la clé racine, que vous avez déjà spécifiée) du nom de clé de registre à détecter.
- Précisez Existe ou N'existe pas
Entrez la clé de registre et les informations de la valeur à détecter. Si la clé ou la valeur n'existe pas ou n'est pas accessible par l'utilisateur, la règle renvoie false (sauf si l'opérateur de comparaison est N'existe pas).
Vous devez spécifier un nom de valeur, sauf si vous souhaitez vérifier la valeur « (Par défaut) », auquel cas le champ doit rester vide.
Pour une comparaison de versions, les opérandes de comparaison et les données associées à la valeur de registre doivent être au format de version décrit ici. Si ce n'est pas le cas d'un de ces éléments, les règles de détection (et le paquet) génèrent une erreur.
Pour en savoir plus sur le fonctionnement des opérateurs de version et de comparaison, reportez-vous à l'article Microsoft suivant.
La comparaison de chaînes est sensible à la casse. Si la valeur de registre contient des données qui ne sont pas de type REG_SZ (String), elle est convertie en chaîne comme suit :
- REG_DWORD : La forme décimale (telle qu'indiquée dans regedit.exe) est utilisée.
- REG_QWORD : La forme décimale (telle qu'indiquée dans regedit.exe) est utilisée.
- REG_BINARY : La forme paire d'octets utilisée par regedit.exe est utilisée, mais en majuscules (exemple : « 46 AA 6C 6B 65 6E »).
- REG_MULTI_SZ : Les lignes sont concaténées avec des espaces pour former une seule ligne (par exemple, « Ligne1 Ligne2 Ligne3 »).
- REG_EXPAND_SZ : Toutes les variables d'environnement sont développées.
Les scripts de détection peuvent utiliser PowerShell (mais pas PowerShell Core) ou la syntaxe batch. Le succès de la détection dépend du code de sortie numérique du script. Le code de sortie « 0 » (zéro) égale true (vrai). Tout autre code de sortie est considéré comme égal à false (faux). Le code de sortie doit être un nombre, pas le mot « true ». Utilisez l'éditeur de script intégré pour créer votre script.
Utilisez l'éditeur de script intégré pour créer un script. Vous pouvez aussi utiliser l'option Sélectionner un fichier et rechercher un fichier. Le fichier et le chemin que vous indiquez doivent exister sur le système cible. Si le fichier de script n'est pas déjà sur le périphérique, utilisez l'action Télécharger un fichier pour l'y placer. Quand vous faites cela, le fichier téléchargé est placé dans un chemin par défaut et il vous suffit de spécifier le nom du fichier.
Comme les règles de détection s'exécutent avant les autres actions du paquet, cela place les scripts de règles de détection à une étape unique du processus d'installation d'applis. Il est possible de réaliser ici des opérations plus complexes, comme exécuter un script de mise à niveau personnalisé qui recherche une ancienne installation d'appli et, s'il la trouve, la désinstalle avant de passer au reste du paquet.
Règle de détection et journalisation des actions
App Distribution (Distribution d'applis) crée un fichier journal pour chaque appli déployée sur un périphérique. Le journal contient des entrées pour chacune des règles de détection et autres actions de paquet. Si les règles de détection ne fonctionnent pas comme prévu, utilisez le fichier journal pour savoir pourquoi. Les journaux sont stockés sur chaque périphérique dans le dossier suivant :
- C:\ProgramData\Ivanti\Ivanti Cloud Agent\Logs\SWDApps
Chaque nom de fichier journal inclut le GUID du paquet. Si vous modifiez un paquet dans le catalogue d'applis, vous pouvez voir son GUID dans l'URL de navigateur Web. Cela vous aide à trouver le fichier journal qui vous intéresse.
Vous pouvez afficher à distance un journal simplifié, depuis la page App Distribution (Distribution d'applis) > État de déploiement. Recherchez le périphérique et le paquet à afficher et, sur la droite, sélectionnez l'option Afficher le journal du menu Actions.