Règles de détection App Distribution (Distribution d'applis)
Les règles de détection du paquet App Distribution (Distribution d'applis) 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 dans App Distribution (Distribution d'applis) > Catalogue d'applis. Ajoutez ou modifiez une appli, puis sélectionnez l'onglet Paquet.
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.
Voici les règles de détection disponibles :
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.