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

Bibliothèque de scripts : paramètres

Sujet

Cet article explique l'utilité des paramètres et des variables d'environnement lors de l'installation ou de l'exécution de scripts et d'automatisations dans NinjaOne. 

Environnement

Automatisation NinjaOne

Description

Les termes « paramètres » et « arguments » sont souvent utilisés de manière interchangeable, mais ils sont légèrement différents. Lorsque vous appelez une fonction, un script ou un fichier exécutable, vous utilisez des arguments. Lorsque vous définissez la fonction, vous définissez les paramètres qui prendront les arguments de l'appel comme valeurs de paramètres. Dans le cadre de la création de scripts d'automatisation pour NinjaOne, NinjaOne utilise le terme « paramètres » tout au long de ce document.

Les paramètres ne sont pas obligatoires par défaut dans les scripts personnalisés. Cependant, si votre script personnalisé est écrit pour accepter des paramètres, vous avez la possibilité de spécifier des chaînes de paramètres prédéfinies dans l'éditeur de script.

NinjaOne utilise des variables d'environnement pour référencer les paramètres et simplifier la saisie des commandes. Vous pouvez en savoir plus à ce sujet dans notre article NinjaOne Endpoint Management : Utilisation des variables dans les scripts d'automatisation

Index

Sélectionnez une catégorie pour en savoir plus :

Considérations importantes

Veuillez tenir compte des remarques suivantes avant de continuer :

  • Les caractères spéciaux suivants ne peuvent pas être utilisés dans les paramètres : &|;$><`!
  • NinjaOne ne peut pas transmettre plusieurs valeurs pour les paramètres de type tableau. Par exemple, lorsque vous ajoutez -param 1, 2 dans notre zone de texte des paramètres, le résultat affiché est uniquement 1 au lieu de 1 2.
  • NinjaOne ne peut actuellement pas transmettre de valeurs booléennes via nos paramètres.
  • NinjaOne n'accepte que les paramètres de type chaîne de caractères.

Comment utiliser les paramètres dans un script

Voici un exemple de transmission de paramètres à un script PowerShell qui renomme un utilisateur local.

Figure 1: Ajouter des paramètres à un script

Dans la figure 1, nous avons créé trois chaînes de paramètres prédéfinies :

  • Tonya
  • Tony
  • T.S.

Ces paramètres correspondent à l'attribut CmdletBinding mis en évidence dans le script et remplaceront les variables de chaîne dans l'ordre saisi, comme suit :

  • $CurrentName: Tonya
  • $NewName: Tony
  • $NewDisplayName: T.S.

Vous pouvez également définir ces paramètres lors de l'exécution du script via une condition de stratégie ou une tâche planifiée. L'invite vous demandera d'ajouter des valeurs pour les paramètres.

scheduled task_run automation_parameters.png
Figure 2: Ajouter des paramètres à une automatisation

Autre utilisation des paramètres prédéfinis

Si vous ne souhaitez pas saisir de paramètres textuels fixes dans votre script, vous pouvez également appeler des variables vides à l'intérieur de votre script et insérer leurs valeurs dans le champ des paramètres avant d'exécuter votre script.

Voici un exemple de script appelant trois variables et les affichant dans la sortie du script : 

param(
 [String]$variable1='',
 [String]$variable2='',
 [String]$variable3='')


Write-Host $variable1
Write-Host $variable2
Write-Host $variable3

Lorsque vous exécutez ce script, entrez les valeurs que vous souhaitez attribuer à chaque variable dans l'ordre où elles ont été écrites dans votre script. Utilisez un espace entre chaque variable. Si vos valeurs contiennent des espaces, vous devez les mettre entre guillemets pour les distinguer des autres variables.

Par exemple, si je souhaite ajouter Peter Smith comme $Username et Pa5sW0rd comme $Password, je dois les saisir comme suit :

"Peter Smith" Pa5sW0rd
NinjaOne ne prend actuellement pas en charge les scripts personnalisés. Cependant, la rubrique « Script Share » de nos forums est une excellente ressource pour partager et demander des scripts personnalisés. Consultez la rubrique « Community Scripting – NinjaOne Dojo » pour en savoir plus.

Foire aux questions

Comment savoir quels paramètres utiliser dans les scripts d'installation ou d'exécution d'applications natifs de NinjaOne ?

Pour les fichiers EXE, les paramètres sont spécifiques à l'application. Il n'existe pas de jeu de paramètres unique à utiliser.

Pour les fichiers MSI, consultez MSIEXEC - Windows installer - Windows CMD - SS64.com (lien externe) pour obtenir la liste des paramètres possibles.

Pour le script d'installation d'application natif de NinjaOne, tous les fichiers MSI sont exécutés à l'aide des paramètres suivants :

/quiet /qn /norestart /log {chemin d'accès à notre dossier de scripts}ninjascript-output-{heure actuelle}.txt 

Comment savoir quels paramètres utiliser dans mes scripts personnalisés ?

Chaque langage de script a sa propre méthode pour utiliser les paramètres de script. Vous devez formater les paramètres selon les exigences du langage utilisé par votre script personnalisé. Voici quelques ressources externes concernant le fonctionnement des paramètres dans les différents langages de script pris en charge par NinjaOne :

Nous mettons également à disposition les variables d'environnement suivantes que vous pouvez utiliser pour tous les types de scripts (Windows, Apple macOS et Linux) :

NINJA_EXECUTING_PATH - Emplacement d'installation
NINJA_AGENT_VERSION_INSTALLED - Version de l'agent
NINJA_PATCHER_VERSION_INSTALLED - Version du patcher
NINJA_DATA_PATH - Dossier de données de l'agent (scripts, politiques, téléchargements, journaux)
NINJA_AGENT_PASSWORD - Mot de passe de l'agent pour obtenir la clé de session
NINJA_AGENT_MACHINE_ID - L'ID de la machine utilisé sur le serveur
NINJA_AGENT_NODE_ID - L'ID du nœud utilisé sur le serveur.
NINJA_ORGANIZATION_NAME - Le nom de l'organisation utilisé sur le serveur.
NINJA_ORGANIZATION_ID - ID de l'organisation utilisé sur le serveur.
NINJA_COMPANY_NAME - Nom de l'entreprise utilisé sur le serveur.
NINJA_LOCATION_ID - ID de l'emplacement utilisé sur le serveur.
NINJA_LOCATION_NAME - Nom de l'emplacement utilisé sur le serveur
Si vous modifiez une variable et exécutez un script pour récupérer la nouvelle valeur, redémarrez la cible si celle-ci n'a pas changé. Le redémarrage de la cible mettra à jour les variables.

Ressources supplémentaires

Consultez le catalogue de ressources NinjaOne Endpoint Management : Scripting, Automation and CLI pour découvrir d'autres outils de la bibliothèque d'automatisation.

FAQ

Pour aller plus loin