Vous êtes déjà client NinjaOne ? Connectez-vous pour consulter d'autres guides et les dernières nouvelles.

Types de variables de script

Rubrique

Cet article explique ce que sont les variables de script et fournit des conseils sur leur utilisation. 

Environnement

Automatisations et scripts NinjaOne

Description

Veuillez sélectionner pour en savoir plus :

Que sont les types de variables ?

Lorsque vous créez des scripts dans la bibliothèque d'automatisation, vous avez la possibilité d'ajouter plusieurs types de variables de script qui influent sur le formulaire interactif qui s'affiche lors de l'exécution d'un script. Les variables sont prises en charge dans Batch, PowerShell, ShellScript et VBScript. 

Consultez le tableau ci-dessous pour une brève explication de chaque type de variable. 

Type de variableDescription
Chaîne/TexteUtilisée pour tout ce qui nécessite une combinaison de lettres, de chiffres et/ou de caractères. Exemples : noms d'utilisateur, URL et phrases.
Remarque importante : les caractères spéciaux suivants ne peuvent pas être utilisés : Å Ä Ö &|;$><`!
EntierUtilisé pour tout ce qui nécessite un nombre entier sans décimales. 
DécimalUtilisé pour tout ce qui nécessite un nombre avec une décimale (par exemple, 3,145).
Case à cocherUtilisée pour tout ce qui nécessite une valeur « vraie » ou « faux ». 
DateUtilisé pour tout ce qui nécessite de représenter une date.
Remarque importante : le script utilise le format ISO 8601. 
Date/HeureUtilisé pour tout ce qui doit représenter une date et une heure.
Remarque importante : le script utilise le format ISO 8601. 
Menu déroulantUtilisé pour tout ce qui nécessite de représenter un choix avec plusieurs options.
Adresse IPÀ utiliser pour tout ce qui nécessite de représenter une Adresse IP.

Utilisation d’une variable dans l’éditeur de script

Les variables sont envoyées au script sous forme de variables d’environnement, qui n’existent qu’au sein du script en cours d’exécution, pendant la durée d’exécution de ce dernier. 

Une fois les variables souhaitées définies dans la partie droite de l’éditeur de script, elles peuvent être utilisées dans le script en appuyant sur CTRL + Espace sur votre clavier, puis en sélectionnant l’option dans la fenêtre contextuelle qui s’affiche. Passez la souris sur la variable pour afficher sa description et cliquez dessus pour l’insérer dans le script. 

script_variable.png
Figure 1 : Page de script NinjaOne → Ajouter et utiliser des variables (cliquez pour agrandir)

Vous pouvez également saisir des variables manuellement en les référençant par leur nom tel qu’il apparaît dans la zone de saisie à droite.

Les différents langages de script nécessitent des syntaxes différentes pour référencer les variables — consultez le tableau ci-dessous pour des exemples. 

Langage d'écriture de scriptExemple de référence
PowerShell

$env:<nom_de_la_variable>

$env:dateOfBirth
Batch

%<nom_de_la_variable>%

%dateOfBirth%
VBScript

<nom_de_variable> = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%nom_de_variable%")

dateOfBirth = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%dateOfBirth%")
ShellScript

$<variablename>

$dateOfBirth

Veuillez noter que toutes les variables sont définies sous forme de chaînes de caractères dans le code que vous écrivez ; vous devrez donc peut-être convertir ou transtypage ces valeurs. Veuillez consulter la section consacrée à l’exécution des scripts pour connaître les valeurs transmises et leur format.

Visualisation d’un script avec des variables

Les variables s’affichent différemment selon les options sélectionnées dans l’éditeur de script. Vous trouverez ci-dessous un exemple illustrant l’apparence des différentes variables dans un script prêt à être exécuté sur un appareil.

Notez que si une variable a été marquée comme obligatoire, un astérisque (*) s'affiche à côté du nom de la variable. Si ce champ n'est pas renseigné par l'utilisateur qui exécute le script, ou si aucune valeur par défaut n'a été fournie, le script ne s'exécutera pas : le champ obligatoire s'affichera en rouge et les utilisateurs seront invités à saisir une valeur pour continuer.

demo script.png
Figure 2 : Exemple de champs de variables dans un script NinjaOne

Envoi de variables de script à un agent

Remarques importantes :

  • Les variables de script soumises vides (sans valeur ajoutée) sont toujours envoyées sous forme de chaîne vide. Nous vous recommandons de vérifier si la valeur est vide si vous n’avez pas marqué une variable de script comme obligatoire.
  • Les variables de script envoyées à l’agent ne sont pas fortement typées. Toutes les valeurs seront envoyées sous forme de chaîne de caractères. Si vous souhaitez les convertir en un type spécifique, vous devrez le faire dans votre propre code.

Certains langages vous autorisent à convertir des chaînes de caractères en objets fortement typés dans le code. Par exemple, PowerShell peut convertir une valeur en Date/Heure comme suit : 

$Test1 = [datetime]$ENV:Test1

Vous pouvez effectuer une conversion en valeur booléenne comme suit : 

$Test2 = [System.Boolean]::Parse($ENV:Test2)

Le moteur de script suit quelques règles simples lorsqu’il envoie des variables de script à un agent :

Type de variableRègle du moteur de script
Chaîne/TexteEnvoyée telle quelle, sous forme de chaîne de caractères (par exemple, « Hello World »).
EntierEnvoyé sous forme de nombres entiers (par exemple, « 314 »).
DécimalEnvoyé sous forme de nombres à virgule flottante (par exemple, « 3,14 »).
Case à cocherLorsqu’elles sont cochées, les cases à cocher sont envoyées sous forme de chaîne de caractères « vrai ».
Lorsqu’elles ne sont pas cochées, les cases à cocher sont envoyées sous forme de chaîne de caractères « faux ».
DateEnvoyées sous forme de chaîne au format ISO 8601, à savoir AAAA-MM-jjT00:00:00.000+00:00
Date/HeureEnvoyée sous forme de chaîne au format ISO 8601, au format AAAA-MM-jjTHH:MM:SS.SSSZ (par exemple, 2023-07-28T03:00:00.000+01:00).
Menu déroulantEnvoyée sous forme de chaîne de caractères correspondant à la valeur sélectionnée.
Adresse IPEnvoyée sous forme de chaîne de caractères correspondant à l’adresse IP saisie.

Ressources complémentaires

FAQ

Pour aller plus loin