Sujet
Cet article explique les variables de script et fournit des conseils sur leur utilisation.
Environnement
Automatisation et script NinjaOne
Description
Veuillez faire votre choix pour en savoir plus :
- Qu'est-ce qu'un type de variable ?
- Utilisation d'une variable dans l'éditeur de script
- Visualisation d'un script avec des variables
- Envoi de variables de script à un agent
- Ressources supplémentaires
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 affectent le formulaire interactif présent lors de l'exécution d'un script. Les variables sont prises en charge dans Batch, PowerShell, ShellScript et VBScript.
Le tableau ci-dessous présente une brève explication de chaque type de variable.
| Type de variable | Description |
|---|---|
| Chaîne/Texte | Utilisé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 : Å Ä Ö &|;$><`! |
| Entier | Utilisé pour tout ce qui nécessite un nombre entier sans décimales. |
| Décimal | Utilisé pour tout ce qui nécessite un nombre avec des décimales (par exemple, 3,145). |
| Case à cocher | Utilisé pour tout ce qui nécessite une valeur vraie ou fausse. |
| Date | Utilisé pour tout ce qui doit représenter une date. Remarque importante : le script utilise le format ISO 8601. |
| Date/Heure | Utilisé pour tout élément devant représenter une date et une heure. Remarque importante : le script utilise le format ISO 8601. |
| Liste déroulante | Utilisé pour tout ce qui doit représenter un choix avec plusieurs options. |
| Adresse IP | Utilisé pour tout ce qui doit représenter une adresse IP. |
Utilisation d'une variable dans l'éditeur de script
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 boîte de dialogue qui s'affiche. Passez la souris sur la variable pour afficher sa description, puis cliquez dessus pour l'insérer dans le script.

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.
Différents langages de script nécessitent différentes entrées pour référencer la variable. Consultez le tableau ci-dessous pour voir des exemples.
| Langage de script | Exemple de référence |
|---|---|
| PowerShell | $env:<nom de la variable> $env:dateOfBirth |
| Batch | %<nom de la variable>% %dateDeNaissance% |
| VBScript | <nom de la variable> = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%nom de la variable%") dateOfBirth = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%dateOfBirth%") |
| ShellScript | $<nom_variable> $dateDeNaissance |
Veuillez noter que toutes les variables sont définies comme des chaînes dans le code que vous écrivez. Vous devrez donc peut-être convertir ou transposer les valeurs. Reportez-vous à la section sur l'exécution des scripts pour connaître les valeurs transmises et leur format.
Visualisation d'un script avec des variables
Les variables sont rendues différemment en fonction des sélections choisies dans l'éditeur de script. Vous trouverez ci-dessous un exemple illustrant l'apparence de 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 rempli 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 deviendra rouge et les utilisateurs seront invités à entrer une valeur pour continuer.

Figure 2 : Exemple de champs de variables dans un script NinjaOne
Envoi de variables de script à un agent
- 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 une 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. Si vous souhaitez les convertir en un certain type, vous devrez le faire dans votre propre code.
Certains langages vous permettent de convertir des chaînes en objets fortement typés dans le code. Par exemple, PowerShell peut convertir une date/heure comme suit :
$Test1 = [datetime]$ENV:Test1
Vous pouvez convertir en valeur booléenne comme suit :
$Test2 = [System.Boolean]::Parse($ENV:Test2)
Le moteur de script suit certaines règles simples lors de l'envoi de variables de script à un agent :
| Type de variable | Règle du moteur de script |
|---|---|
| Chaîne/Texte | Envoyée telle quelle sous forme de chaîne (par exemple, « Hello World »). |
| Entier | Envoyé sous forme de nombre entier (par exemple, « 314 »). |
| Décimal | Envoyé sous forme de nombre à virgule flottante (par exemple, « 3,14 »). |
| Coche | Lorsqu'elles sont cochées, les cases à cocher sont envoyées sous la forme d'une chaîne de caractères « true ». Lorsqu'elles ne sont pas cochées, les cases à cocher sont envoyées sous la forme d'une chaîne de caractères « false ». |
| Date | Envoyée sous forme de chaîne au format ISO 8601 sous la forme AAAA-MM-jjT00:00:00.000+00:00 |
| Date/Heure | Envoyée sous forme de chaîne au format ISO 8601 sous la forme AAAA-MM-JJTHH:MM:SS.SSSZ (par exemple, 2023-07-28T03:00:00.000+01:00). |
| DropDown | Envoyé sous forme de chaîne de caractères correspondant à la valeur sélectionnée. |
| Adresse IP | Envoyée sous forme de chaîne correspondant à l'adresse IP saisie. |