Opérateurs de signature étendue

Disponible à partir de la version 9.2.2. Les opérations d'analyse au cours desquelles des définitions de signature étendue XML sont utilisées sont effectuées sur la base des instructions de traitement qui sont contenues dans le catalogue de signature. Dans les langages informatiques, les expressions sont formées à l'aide de deux types de composants : opérandes et opérateurs. Les opérandes correspondent aux objets manipulés, et les opérateurs, à des symboles représentant des actions spécifiques. Les opérandes et les opérateurs peuvent être scalaires ou vectoriels.

Les définitions suivantes s'appliquent aux opérateurs et aux opérandes dans le contexte du catalogue de signatures :
scalar operand
Renvoie une valeur au format chaîne. Un opérande ne peut pas avoir d'enfants. Par exemple, l'opérande scalaire RegKeyValue renvoie la valeur de la clé de registre spécifiée.
scalar operator
Effectue une opération sur d'autres opérateurs et opérandes, puis renvoie les résultats au format chaîne. Un opérateur peut posséder des enfants. Par exemple, l'opérateur AND renvoie true ou false comme résultat.
vector operand
Renvoie des résultats sous la forme d'un ensemble de chaînes. Un opérande ne peut pas avoir d'enfants. Par exemple, l'opérande FindFilePathéx renvoie un ensemble de chemins.
vector operator
Effectue une opération sur d'autres opérateurs et opérandes, et renvoie les résultats sous la forme d'un ensemble de chaînes. Un opérateur peut posséder des enfants. Par exemple, l'opérateur Vector renvoie un ensemble de chaînes qui contiennent les résultats de tous ses enfants.

Contenu

Structure du catalogue de signature

Tableau 1. Structure du catalogue de signature
Opérandes et opérateurs Fonction et attributs pris en charge
Action
Indique l'action à effectuer selon le résultat de l'élément Condition.
Attributs :
onValue
Valeur qui entraîne l'exécution de l'action. Cet attribut est obligatoire.
do
Indique l'opération à effectuer. Cet attribut est obligatoire. La valeur prise en charge est SKIP, qui interrompt la signature ou l'évaluation de l'instance de caractère itératif et l'empêche d'être renvoyée dans la sortie.
Condition
Vérifie si la condition spécifiée est remplie. Il contient un ou plusieurs éléments Action qui indiquent l'action à effectuer selon le résultat de l'élément Condition.
Attributs :
withVariable
Indique le nom de la variable dont la condition doit être vérifiée. Cet attribut est obligatoire.
MultipleInstance
Groupe les informations pour identifier un produit logiciel qui pourrait être installé dans plusieurs instances sur le même poste de travail. Il contient 1 Iterator et 1 élément Instance.
Attributs :
Aucun
Multiple instance - itérateur sur INSTALL_PATH
<MultipleInstance>
  <Iterator name="INSTALL_PATH">
    <FindFilePathEx name=""/>
  </Iterator>
  <Instance> 
    <Variable name="IS_INSTALLED"><!-- RULE --> 
    </Variable>
    <Condition withVariable="IS_INSTALLED">
      <Action onValue="false" do="SKIP"/>
    </Condition>
  </Instance>
</MultipleInstance>
Multiple instance - itérateur sur un vecteur avec le calcul (options) ultérieur d'INSTALL PATH
<MultipleInstance>
  <Iterator name="ITER_VAR">
  </Iterator>
  <Instance> 
    <Variable name="IS_INSTALLED"><!-- RULE --> </Variable>
    <Variable name="INSTALL_PATH"><!-- RULE --> </Variable>
    <Condition withVariable="IS_INSTALLED">
      <Action onValue="false" do="SKIP"/>
    </Condition>
  </Instance>
</MultipleInstance> 
Variable
ést un conteneur pour une valeur unique qui est exprimée en tant que chaîne dont la valeur de retour est indiquée par le résultat d'un ensemble d'opérateurs et d'opérandes.
Attributs :
nom
Spécifie le nom de la variable. Il est unique dans la portée de la signature conteneur. Cet attribut est obligatoire.
exporter
Indique si la sortie de la variable doit être exportée. Les valeurs prises en charge sont true et false. La valeur par défaut est true. Cet attribut est facultatif.

Expressions principales

Opérandes et opérateurs Fonction et attributs pris en charge
And

Effectue une opération AND logique entre les résultats de tous ses enfants. Si l'une des opérations renvoie la valeur false, toute l'opération a la valeur false, sans autre évaluation sur les enfants restants. Au moins un enfant est requis.

Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : operator
Exemple :
<And>
	....scalar operators and operands returning a Boolean value
</And>
Clip

Renvoie une sous-chaîne qui est un intervalle des caractères consécutifs d'une chaîne, commençant par le caractère dont l'index est indiqué par startIndex et se terminant par le caractère dont l'index est indiqué par endIndex.

Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
Exemple :
Par exemple : la sous-chaîne 234 est renvoyée par l'expression suivante :
<Clip inputString="123456789" startIndex="1" endIndex="3"/>
Attributs :
inputString
Indique la chaîne à découper.
startIndex
Indique l'index du caractère dans la chaîne en entrée par lequel la sous-chaîne devrait commencer. L'index 0 désigne le premier caractère de la chaîne d'entrée.
endIndex
Indique l'index du caractère dans la chaîne en entrée par lequel la sous-chaîne devrait se terminer. L'index 0 désigne le dernier caractère de la chaîne d'entrée.
Remarque : Il est recommandé d'utiliser le nouvel opérateur StringSlice dont l'intervalle est plus large que celui de Clip parce que StringSlice prend en charge les index négatifs dans la syntaxe de Python.
Compare

Compare deux expressions basées sur la valeur de l'attribut de relation. Le résultat est true si l'expression est satisfaite, false dans le cas contraire.

Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : operator
Exemple :
<Compare relation="relation" type="type" >
  <Expression 1/>
  <Expression 2/>
</Compare>
Attributs :
relation
Indique la relation à évaluer. Les valeurs admises sont les suivantes :
  • eq - égale à
  • ne - différent de
  • gt - supérieur à
  • ge - supérieur ou égal à
  • lt - inférieur à
  • le - inférieur ou égal à
type
Spécifie le format des expressions à comparer. Les valeurs admises sont les suivantes :
  • version - Compare deux versions. La version est exprimée par quatre chiffres au maximum qui sont séparés par des points ou des virgules.
  • integer - Compare deux entiers.
  • string - Compare deux chaînes.
  • cistring - Compare deux chaînes insensibles à la casse.
  • boolean - La comparaison doit être effectuée entre deux valeurs booléennes.
  • hex - Compare deux entiers hexadécimaux sur 4 octets non signés. Le préfixe 0x est facultatif.
Concat
Renvoie une concaténation des expressions.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : operator
Exemple :
<Concat [separator="separator"] [ifEmpty="{add|skip}"] >
  <Expression 1/>
  <Expression 2/>
...
</Concat>
Attributs :
séparateur
Indique le séparateur à insérer entre deux expressions. Cet attribut est facultatif. La valeur par défaut est une chaîne vide.
ifémpty
Indique si le séparateur doit être ajouté si l'expression à concaténer est vide. Cet attribut est facultatif. Les valeurs prises en charge sont les suivantes :
skip
Si la chaîne est vide, le séparateur n'est pas ajouté. Il s'agit de la valeur par défaut.
add
Si la chaîne est vide, le séparateur est ajouté.
Contains
Vérifie si la chaîne contient une chaîne.
Propriétés :
  • Type de résultat : scalaire [{true|false}]
  • Type d'expression : opérande
Exemple :
<Contains inputString="example_string" searchedString=
"example_string_to_search" position = ["start" | "end" |
 "contains"]/>
Attributs :
inputString
Indique la chaîne dans laquelle doit s'effectuer la recherche.
searchedString
Indique la chaîne à rechercher.
position
Indique où chercher.
start
Vérifie si la chaîne recherchée est au début.
end
Vérifie si la chaîne recherchée est à la fin.
contains
Vérifie si la chaîne recherchée est quelque part dans la chaîne initiale.
FileInfoCompare
Renvoie les informations qui sont indiquées dans l'attribut field.
Propriétés :
  • Type de résultat : scalaire [{true|false}]
  • Type d'expression : opérande
Exemple :
<FileInfoCompare
	absolutePath="absolute_path"
	field="field"
	value="value"
	relation="relation"
	[mustExist="{true|false}"]
/>
Attributs :
absolutePath
Indique le chemin d'accès absolu au fichier à évaluer.
champ
Compare deux fichiers selon l'une des valeurs prises en charge comme suit :
  • size
  • inode ( UNIX uniquement)
  • atime - la date où le fichier a été consulté au format d'horodatage UNIX.
  • ctime - la date où le fichier a été créé au format d'horodatage UNIX.
  • mtime - la date où le fichier a été modifié au format d'horodatage UNIX.
relation
Indique la relation à évaluer.
valeur
Indique la valeur de comparaison.
mustéxist
Indique que le fichier spécifié doit exister. Cet attribut est facultatif. La valeur par défaut est false. Si cet attribut a la valeur true et que le fichier spécifié n'existe pas, la signature en cours n'est pas évaluée.
FileExists

Renvoie une valeur booléenne qui indique si le fichier spécifié existe.

Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : opérande
Exemple :
<FileExists absolutePath="absolute_path" />
Attributs :
absolutePath
Indique le chemin d'accès absolu au fichier à rechercher.
Not
Effectue une opération logique NOT sur le résultat de son enfant. Un seul enfant est autorisé.
Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : operator
Exemple :
<Not>
	.... a single scalar operator or operand returning a Boolean value
</Not>
PathExists
Renvoie une valeur booléenne qui indique si le chemin d'accès spécifié existe.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
Exemple :
<PathExists absolutePath="absolute_path" />
Attributs :
absolutePath
Indique le chemin d'accès absolu à rechercher.
Or

Effectue une opération OR logique entre les résultats de tous ses enfants. Si l'une des opérations renvoie la valeur "true", toute l'opération a la valeur "true", sans autre évaluation sur les enfants restants. Au moins un enfant est requis.

Substring

Recherche par une chaîne qui contient plusieurs lignes de texte et renvoie les lignes d'une chaîne qui contiennent le texte à rechercher.

Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
Exemple :
<Substring inputString="input_string_to_search" searchedString=
"string_to_search_for"/>
Attributs :
inputString
Chaîne en entrée qui contient plusieurs lignes.
searchedString
Chaîne à rechercher.
Vector
Renvoie un vecteur qui contient l'union de tous ses enfants, les doublons sont inclus. Si vous indiquez un filtre, le résultat contient seulement les chaînes qui correspondent au modèle.
  • filter : Spécifie les critères de filtrage à appliquer à la recherche. Les caractères génériques pris en charge sont l'astérisque (*) et le point d'interrogation (?).
VectorAt
Renvoie l'élément vectoriel correspondant à la position spécifiée.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : operator
Exemple :
<VectorAt index="index_number">
	... any number of scalar/vector operator/operand
</VectorAt>
Attributs :
index
Indique la position voulue de vecteur. Le premier élément vectoriel occupe la position "1".
VectorToScalar

Convertit un vecteur en sa représentation scalaire. Vous devez convertir un vecteur en sa représentation scalaire parce que seules les valeurs scalaires peuvent être comparées.

Expressions de système de fichiers

Opérandes et opérateurs Fonction et attributs pris en charge
FindFilePathEx

Recherche le fichier spécifié aux emplacements spécifiés. Le résultat est un vecteur de tous les chemins d'accès où au moins une entrée qui correspond au fichier spécifié est recherchée.

L'opérande recherche le cache ou le système de fichiers selon les paramètres qui sont définis pour le scanner du système de fichiers. Pour que cet opérande fasse porter les recherches sur le système de fichiers, définissez l'attribut maxDataAge sur zéro dans le fichier de configuration. Un filtre supplémentaire peut être défini pour affiner la recherche de fichier. Un tel filtre peut contenir une requête de scanner de système de fichiers, qui est appliquée au fichier de résultats. Si le filtre renvoie une condition true, le répertoire correspondant au fichier est renvoyé ; dans le cas contraire, ce répertoire n'est pas renvoyé.

Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
Exemple :
< FindFilePathEx name="file_name"[filter="query_filter"] [recursive="{true|false}"] [appendFileName="{true|false}"]/> 
Attributs :
name
Indique le masque de fichier sur lequel doit porter la recherche. Cet attribut est obligatoire.
appendFileName
Indique si les résultats contiennent le nom de fichier. Cet attribut est facultatif. Les valeurs admises sont les suivantes :
  • true
  • false
filtrer
Indique une requête de système de fichiers.
FileInfoMatch
Recherche un fichier possédant le nom et les attributs spécifiés aux emplacements spécifiés. Le résultat est true si au moins un fichier correspondant est trouvé.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
Exemple :
<FileInfoMatch 
	[rootPath="root_path"]
	[recursive="{true|false}"]
	name="file_name"
	field="field"
	values="values"
/>
Attributs :
rootPath
Indique dans quel chemin d'accès la recherche doit être effectuée. La valeur par défaut est /. Les caractères génériques (*) (?) sont pris en charge. Le chemin est indiqué avec la syntaxe suivante :
media_type::]drive:path
où :
media_type
Indique le type de support et peut prendre les valeurs suivantes :
$local
Comprend les disques locaux. Il s'agit de la valeur par défaut.
$remote
Inclut les disques distants
$other
Sur des systèmes Windows, inclut d'autres types de disque, tels que les CD-ROM, DVD. Sur des systèmes UNIX, cette valeur n'est pas prise en charge et est exprimée par la valeur $local.
$all
Inclut tous les disques qui sont énumérés ci-dessus.
Si la variable media_type n'est pas spécifiée, la valeur $local est sous-entendue. Par conséquent, si vous souhaitez faire porter la recherche sur des disques autres que locaux, spécifiez une valeur pour la variable media_type.
drive
Indique les unités à exclure. Vous pouvez désigner une ou plusieurs unités spécifiques, ou utiliser les valeurs $local, $remote, $other et $all. Dans ce cas, toutes les unités de la catégorie spécifiée sont exclues de la recherche. Cette variable est facultative sur des systèmes d'exploitation UNIX.
path
Indique le chemin d'accès à exclure. Les caractères génériques (*) et (?) sont pris en charge.
Cet attribut est facultatif.
recursive
Indique si la recherche doit être effectuée dans le chemin d'accès spécifié et dans tous ses sous-répertoires. Les valeurs prises en charge sont true et false. La valeur par défaut est true. Cet attribut est facultatif.
name
Indique le nom de fichier à rechercher. Cet attribut est obligatoire. Les caractères génériques (*) et (?) sont pris en charge.
zone
Compare deux fichiers selon l'une des valeurs prises en charge comme suit :
  • size
  • inode ( UNIX uniquement)
  • atime - la date où le fichier a été consulté au format d'horodatage UNIX.
  • ctime - la date où le fichier a été créé au format d'horodatage UNIX.
  • mtime - la date où le fichier a été modifié au format d'horodatage UNIX.
valeurs
Indique une ou plusieurs valeurs pour l'attribut qui est indiqué dans l'attribut field. Si plusieurs valeurs sont indiquées, les éléments sont concaténés à l'aide du caractère de contrôle Unicode "Private Use 1" avec le code ASCII 0x0091.
date
Renvoie les dates de création, d'accès et de modification du fichier.
ReadFile
Renvoie, sous forme de chaîne, le texte à partir d'un fichier sur le système.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
Exemple :
<ReadFile path="path_to_file" [trim="{true|false}"][fileType="{native|utf8}"]/>
Attributs :
Chemin
Indique le chemin d'accès du fichier.
trim
Indique si des caractères spéciaux de nouvelle ligne doivent être retirés du contenu du fichier. La valeur par défaut est false.
fileType
Indique le type du fichier. La valeur par défaut est native.

Expressions de registre natif

Opérandes et opérateurs Fonction et attributs pris en charge
AixProductInfo
Renvoie n'importe quelles informations sur les systèmes d'exploitation pris en charge AIX®.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
Exemple :
<AixProductInfo code="product_code" field="{name|version|vendor|description|installDir}" 
[mustExist="{true|false}"] />
Attributs :
code
Indique le code produit qui identifie un package ODM AIX® de façon univoque. Le code produit peut être extrait uniquement à l'aide de l'opérande AixProductList. Pour plus d'informations sur cet opérande, voir AixProductList.
zone
Indique les informations à récupérer. Les valeurs prises en charge sont les suivantes :
  • name
  • version - La version est exprimée par quatre chiffres au maximum qui sont séparés par des points ou des virgules.
  • vendor
  • description
  • installDir
mustéxist
Indique s'il faut arrêter l'évaluation de l'opérande dès lors que le fichier spécifié n'existe pas. Les valeurs prises en charge sont true et false. La valeur par défaut est false. Cet attribut est facultatif. Si cet attribut a la valeur true et que le fichier spécifié n'existe pas, la signature en cours n'est pas évaluée. Si l'attribut est false et que le fichier spécifié n'existe pas, la valeur de retour est une chaîne vide.
AixProductList
Renvoie l'ensemble de codes de package ODM AIX®. Les codes qui sont renvoyés peuvent être utilisés avec les opérandes AixProductéxists et AixProductInfo.
Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
Exemple :
<AixProductList [filter="filter_expression"]
  [type="type"] />
Attributs :
type
Applique un filtre basé sur le type de produit. Cet attribut est facultatif. Les valeurs prises en charge sont les suivantes :
any
Renvoie les deux produits et tous les sous-produits. Il s'agit de la valeur par défaut.
product
Renvoie uniquement les produits.
filter
Spécifie les critères de filtrage à appliquer à la recherche. Les caractères génériques pris en charge sont l'astérisque (*) et le point d'interrogation (?). Cet attribut est facultatif.
HpProductInfo
Renvoie les informations demandées si elles sont disponibles.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
Exemple :
<HpProductInfo code="product_code" field="{name|version|
vendor|installDir}"/>
Attributs :
code
Indique le code de produit et de sous-produit qui identifie un package HP-UX de façon univoque. Le code produit et sous-produit peut être extrait uniquement à l'aide de l'opérande HpProductList. Pour plus d'informations sur cet opérande, voir HpProductList. Cet attribut est facultatif.
zone
Indique les informations à récupérer. Les valeurs prises en charge sont les suivantes :
  • name
  • version - La version est exprimée par quatre chiffres au maximum qui sont séparés par des points ou des virgules.
  • vendor
  • installDir
HpProductList
Renvoie l'ensemble des codes de package HP-UX. Les codes qui sont renvoyés peuvent être utilisés avec les opérandes HpProductExists et HpProductInfo.
Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
Exemple :
<HpProductList [filter="filter_expression"]
  [type="type"] />
Attributs :
type
Applique un filtre basé sur le type de produit. Cet attribut est facultatif. Les valeurs prises en charge sont les suivantes :
any
Renvoie les deux produits et tous les sous-produits. Il s'agit de la valeur par défaut.
product
Renvoie uniquement les produits.
subproduct
Renvoie uniquement des sous-produits.
filter
Spécifie les critères de filtrage à appliquer à la recherche. Les caractères génériques pris en charge sont l'astérisque (*) et le point d'interrogation (?). Cet attribut est facultatif.
RpmProductExists
Indique si le package spécifié est installé.
Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : opérande
  • Système d'exploitation : pris en charge sous Linux et AIX
Exemple :
<RpmProductExists code="product_code" />
Attributs :
code
Indique le code de produit qui identifie un package RPM de façon univoque. Le code produit peut être extrait à l'aide de l'opérande RPMProductList. Pour plus d'informations sur cet opérande, voir RpmProductList.
Le code du produit peut également être répertorié avec la commande rpm -qa. La commande renvoie tous les codes disponibles qui identifient les packages RPM. Les codes peuvent définir ou non l'architecture du package ; par exemple : kernel-2.6.32-358.el6.x86_64 ou kernel-2.6.32-358.el6.
RpmProductList
Renvoie l'ensemble des codes de package RPM. Les codes qui sont renvoyés peuvent être utilisés avec les opérandes RpmProductéxists et RpmProductInfo.
Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
  • Système d'exploitation : pris en charge sous Linux et AIX
Exemple :
<RpmProductList [filter="filter_expression"]
 [type="type"] />
Attributs :
filter
Spécifie les critères de filtrage à appliquer à la recherche. Les caractères génériques pris en charge sont l'astérisque (*) et le point d'interrogation (?). Cet attribut est facultatif.
type
Applique un filtre basé sur le type de produit. Cet attribut est facultatif. Les valeurs prises en charge sont les suivantes :
any
Renvoie les deux produits et tous les sous-produits. Il s'agit de la valeur par défaut.
product
Renvoie uniquement les produits.
SunProductInfo
Renvoie les informations demandées si elles sont disponibles.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
  • Système d'exploitation : environnements d'exploitation Oracle Solaris pris en charge
Exemple :
<SunProductInfo code="produt_code" field="{name|version|displayVersion|vendor|installDir}"/>
Attributs :
code
Indique le code de produit qui identifie un package Oracle Solaris de façon univoque. Le code produit peut être extrait uniquement à l'aide de l'opérande SunProductList. Pour plus d'informations sur cet opérande, voir SunProductList.
zone
Indique les informations à récupérer. Les valeurs prises en charge sont les suivantes :
name
Renvoie le nom du produit.
version
Renvoie la version du produit et le numéro de révision, par exemple 3.7.2101.
displayVersion
Renvoie la version du produit et le numéro de révision, par exemple 3.7.2101, RéV= 0.98.08.26.
vendor
Renvoie le nom du fournisseur.
installDir
Renvoie les répertoires d'installation supérieurs.
SunProductList
Renvoie l'ensemble des codes de package Sun Solaris. Les codes qui sont renvoyés peuvent être utilisés avec SunProductéxists et les opérandes.
Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
  • Système d'exploitation : environnements d'exploitation Sun Solaris pris en charge
Exemple :
<SunProductList [filter="filter_expression"]
  [type="type"] />
Attributs :
type
Applique un filtre basé sur le type de produit. Cet attribut est facultatif. Les valeurs prises en charge sont les suivantes :
any
Renvoie les deux produits et tous les sous-produits. Il s'agit de la valeur par défaut.
product
Renvoie uniquement les produits.
filter
Spécifie les critères de filtrage à appliquer à la recherche. Les caractères génériques pris en charge sont l'astérisque (*) et le point d'interrogation (?). Cet attribut est facultatif.
Win32ProgramInfo
Renvoie les informations demandées si elles sont disponibles.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
  • Systèmes d'exploitation : Tous les systèmes d'exploitation Windows pris en charge
Exemple :
<Win32ProgramInfo code="product_code"
	field="{name|description|version|vendor|installDir|uninstData}"/>
Attributs :
code
Indique le code produit qui identifie un programme Win32 de façon univoque. Le code du programme peut être extrait uniquement à l'aide de l'opérande Win32ProgramList. Pour plus d'informations sur cet opérande, voir Win32ProgramList.
zone
Indique les informations à récupérer. Les valeurs prises en charge sont les suivantes :
name
Renvoie le nom du correctif.
description
Renvoie la description du correctif.
version
Renvoie la version du produit. La version est exprimée par quatre chiffres au maximum qui sont séparés par des points ou des virgules.
vendor
Renvoie le fournisseur de produit.
installDir
Renvoie le répertoire d'installation du produit.
uninstData
Renvoie la commande de désinstallation du produit.
Win32ProgramList
Renvoie l'ensemble des packages installés. Les codes qui sont renvoyés peuvent être utilisés avec les opérandes Win32Programéxists et Win32ProgramInfo.
Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
  • Systèmes d'exploitation : Tous les systèmes d'exploitation Windows pris en charge
Exemple :
<Win32ProgramList [filter="filter_expression"] [type="type"] />
Attributs :
type
Applique un filtre basé sur le type de produit. Cet attribut est facultatif. Les valeurs prises en charge sont les suivantes :
any
Renvoie les deux produits et tous les sous-produits. Il s'agit de la valeur par défaut.
product
Renvoie uniquement les produits.
filter
Spécifie les critères de filtrage à appliquer à la recherche. Les caractères génériques pris en charge sont l'astérisque (*) et le point d'interrogation (?). Cet attribut est facultatif.

Opérandes de registre

Opérandes et opérateurs Fonction et attributs pris en charge
PackageInfoEqual
Renvoie true si un élément avec les mêmes nom, version et fournisseur existe dans le registre spécifié.
Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : opérande
Exemple :
<PackageInfoEqual 
	provider="{any | ismp | os}"
	code="product_code"
	value="name_version_vendor" 
/>
Attributs :
provider
Indique dans quelle base de données d'installation la recherche doit être effectuée. Les valeurs prises en charge sont les suivantes :
any
Indique que la recherche est effectuée sur la base de données d'installation du système d'exploitation, puis sur la base de données d'installation d'ISMP.
OS
Indique que la recherche est effectuée sur la base de données d'installation du système d'exploitation.
ismp
Indique que la recherche est effectuée sur la base de données d'installation ISMP.
code
Indique le code produit identifiant le produit de façon univoque.
value
Comporte la concaténation des chaînes du nom, de la version et du fournisseur pour le produit. Séparez les chaînes deux à deux par un espace ; les chaînes vides peuvent être omises.
PackageInfoMatch
Renvoie true si un élément avec les mêmes nom, version et fournisseur existe dans un registre spécifié.
Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : opérande
  • Systèmes d'exploitation : Tous les systèmes d'exploitation pris en charge
Exemple :
<PackageInfoMatch
vendor="product vendor"
name="product name"
version="product version"
/>
Attributs :
vendor
Indique le fournisseur du produit.
name
Indique le nom du produit.
version
Indique le numéro de version du produit.

Le caractère générique (*) est pris en charge.

Windows expressions de registre

Opérandes et opérateurs Fonction et attributs pris en charge
RegKeyExists
Indique si la clé spécifiée existe.
Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : opérande
Exemple :
<RegKeyExists key="key" [section="{32|64|32or64|64or32}"]/>
Attributs :
key
Indique le nom complet de la clé de registre selon le format registry_key\registry_subkey.
section
Spécifie l'attribut qui indique dans quelle section du registre la recherche doit être effectuée. Il s'agit du paramètre introduit pour s'assurer que le scanner fonctionne correctement sur les systèmes 64 bits. Les valeurs possibles sont les suivantes :
32
La recherche est uniquement effectuée sur la partie 64 bits du registre.
64
La recherche est uniquement effectuée sur la partie 64 bits du registre.
32or64
La recherche est d'abord effectuée sur la partie 32 bits, puis sur la partie 64 bits du registre.
64or32
La recherche est d'abord effectuée sur la partie 64 bits, puis sur la partie 32 bits du registre.
La valeur par défaut est 32.
RegKeyList
Recherche le registre Windows sous la clé qui est indiquée dans l'attribut racine et renvoie une liste de clés qui sont dans le registre sous la clé racine. Si l'attribut subKeys est défini sur false, seules les valeurs de la clé racine sont renvoyées.
Propriétés :
  • Type de résultat : Vector
  • Type d'expression : opérande
Exemple :
<RegKeyList 
	root="root_key"
	[section="{32|64|32or64|64or32}"]
	[subKeys="{true|false}"]/>
Attributs :
root
Indique le nom complet de la clé de registre selon le format registry_key\registry_subkey.
section
Spécifie l'attribut qui indique dans quelle section du registre la recherche doit être effectuée. Il s'agit du paramètre introduit pour assurer que le scanner fonctionne correctement sous les systèmes 64 bits. Les valeurs possibles sont les suivantes :
32
La recherche est uniquement effectuée sur la partie 64 bits du registre.
64
La recherche est uniquement effectuée sur la partie 64 bits du registre.
32or64
La recherche est d'abord effectuée sur la partie 32 bits, puis sur la partie 64 bits du registre.
64or32
La recherche est d'abord effectuée sur la partie 64 bits, puis sur la partie 32 bits du registre.
La valeur par défaut est 32.
subKeys
Indique si subkeys doit être renvoyé. La valeur par défaut est false.
RegKeyValue
Renvoie la valeur en cours de la clé de registre spécifiée. Lorsque la clé de registre est une entrée REG_DWORD, l'attribut de clé renvoie une valeur décimale.
Propriétés :
  • Type de résultat : scalaire
  • Type d'expression : opérande
Exemple :
<RegKeyValue entry="entry" key="key"
[section="{32|64|32or64|64or32}"]
 [mustExist="{true|false}"]/>
Attributs :
key
Indique le nom complet de la clé de registre selon le format registry_key\registry_subkey.
entrée
Indique le nom de la valeur qui est contenue dans la clé. Pour extraire la valeur des entrées de registre qui sont nommées "(Default)", vous devez indiquer une valeur NULL pour l'attribut d'entrée, par exemple entry="".
section
Spécifie l'attribut qui indique dans quelle section du registre la recherche doit être effectuée. Il s'agit du paramètre introduit pour assurer que le scanner fonctionne correctement sur les systèmes 64 bits. Les valeurs possibles sont les suivantes :
32
La recherche est uniquement effectuée sur la partie 64 bits du registre.
64
La recherche est uniquement effectuée sur la partie 64 bits du registre.
32or64
La recherche est d'abord effectuée sur la partie 32 bits, puis sur la partie 64 bits du registre.
64or32
La recherche est d'abord effectuée sur la partie 64 bits, puis sur la partie 32 bits du registre.
La valeur par défaut est 32.
mustéxist
Indique s'il faut arrêter l'évaluation de l'opérande dès lors que la clé spécifiée n'existe pas. Les valeurs prises en charge sont true et false. La valeur par défaut est false. Cet attribut est facultatif. Si cet attribut a la valeur true et que la clé spécifiée n'existe pas, la signature en cours n'est pas évaluée. Si cet attribut a la valeur false et que la clé spécifiée n'existe pas, une chaîne vide est renvoyée.
RegKeyValueContains
Indique si la clé de registre spécifiée contient la valeur indiquée.
Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : opérande
Exemple :
<RegKeyValueContains
	entry="entry"
	key="key"
	value="value"
[section="{32|64|32or64|64or32}"]
	[mustExist="{true|false}"]/>
Attributs :
key
Indique le nom complet de la clé de registre selon le format registry_key\registry_subkey.
entrée
Indique le nom de la valeur qui est contenue dans la clé.
value
Indique la valeur qui doit être contenue dans l'entrée.
section
Spécifie l'attribut indiquant sur quelle section du registre la recherche doit porter. Il s'agit du paramètre introduit pour assurer que le scanner fonctionne correctement sur les systèmes 64 bits. Les valeurs possibles sont les suivantes :
32
La recherche est uniquement effectuée sur la partie 64 bits du registre.
64
La recherche est uniquement effectuée sur la partie 64 bits du registre.
32or64
La recherche est d'abord effectuée sur la partie 32 bits, puis sur la partie 64 bits du registre.
64or32
La recherche est d'abord effectuée sur la partie 64 bits, puis sur la partie 32 bits du registre.
La valeur par défaut est 32.
mustéxist
Indique s'il faut arrêter l'évaluation de l'opérande dès lors que la clé spécifiée n'existe pas. Les valeurs prises en charge sont true et false. La valeur par défaut est false. Cet attribut est facultatif. Si cet attribut a la valeur true et que la clé spécifiée n'existe pas, la signature en cours n'est pas évaluée. Si cet attribut a la valeur false et que la clé spécifiée n'existe pas, une chaîne vide est renvoyée.
RegKeyValueEqual
Indique si la valeur de clé de registre spécifiée est égale à la clé spécifiée.
key
Indique le nom complet de la clé de registre selon le format registry_key/registry_subkey.
entry
Indique le nom de la valeur qui est contenue dans la clé.
value
Indique la valeur à comparer. Quand la clé de registre qui est indiquée dans l'attribut d'entrée est une entrée RéG_DWORD, entrez une valeur décimale dans l'attribut de valeur.
RegKeyVersionCompare

Compare la valeur de clé de registre spécifiée avec la version spécifiée en fonction de la valeur de l'attribut relation.

Propriétés :
  • Type de résultat : scalaire [true | false]
  • Type d'expression : opérande
Exemple :
<RegKeyVersionCompare 
	key="key"
	entry="entry"
	relation="relation"
	value="value"
 [section="{32|64|32or64|64or32}"]
	[mustExist="{true|false}"]/>
Attributs :
key
Indique le nom complet de la clé de registre selon le format registry_key\registry_subkey.
entrée
Indique le nom de la valeur qui est contenue dans la clé.
relation
Indique la relation à évaluer. Les valeurs prises en charge sont les suivantes :
  • eq - égale à
  • ne - différent de
  • gt - supérieur à
  • ge - supérieur ou égal à
  • lt - inférieur à
  • le - inférieur ou égal à
value
Indique la version à comparer.
Remarque : Quand la clé de registre qui est indiquée dans l'attribut d'entrée est une entrée RéG_DWORD, entrez une valeur décimale dans l'attribut de valeur. La valeur prise en charge est version. La version est exprimée par quatre chiffres au maximum qui sont séparés par des points ou des virgules.
Remarque : Quand la clé de registre qui est indiquée dans l'attribut d'entrée est une entrée RéG_BINARY dans la zone de valeur, saisissez une chaîne qui ressemble exactement à la zone "data" quand vous visualisez la zone dans l'éditeur de registre. Cette chaîne doit faire partie d'une série de nombres à deux chiffres qui sont séparés par des espaces, par exemple, "01 01" "10 11 10".
section
Spécifie l'attribut qui indique dans quelle section du registre la recherche doit être effectuée. Il s'agit du paramètre introduit pour assurer que le scanner fonctionne correctement sur les systèmes 64 bits. Les valeurs possibles sont les suivantes :
32
La recherche est uniquement effectuée sur la partie 64 bits du registre.
64
La recherche est uniquement effectuée sur la partie 64 bits du registre.
32or64
La recherche est d'abord effectuée sur la partie 32 bits, puis sur la partie 64 bits du registre.
64or32
La recherche est d'abord effectuée sur la partie 64 bits, puis sur la partie 32 bits du registre.
La valeur par défaut est 32.
mustéxist
Indique s'il faut arrêter l'évaluation de l'opérande dès lors que la clé spécifiée n'existe pas. Les valeurs prises en charge sont true et false. La valeur par défaut est false. Cet attribut est facultatif. Si cet attribut a la valeur true et que la clé spécifiée n'existe pas, la signature en cours n'est pas évaluée.