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

Interface en ligne de commande (CLI) : Champs personnalisés et script de documentation

Rubrique

Cette documentation explique comment utiliser le composant ninjarmm-cli sous les systèmes d'exploitation Microsoft Windows, Apple macOS et Linux.

Environnement

  • Gestion des terminaux NinjaOne
  • NinjaOne Documentation

Description

Le composant ninjarmm-cli est un fichier exécutable qui vous permet d'accéder à des champs personnalisés spécifiques et à des données de documentation, et d'interagir avec ceux-ci à partir de l'interface de ligne de commande (CLI), d'un terminal ou de scripts personnalisés.

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

Remarques importantes

Avant l’utilisation de ninjarmm-cli, vous devez tenir compte des éléments suivants :

  • Les champs sécurisés sont en écriture seule pour les champs de documentation.
  • Vous pouvez lire ou écrire des données de documentation via la CLI ou des scripts personnalisés. Vous pouvez générer une liste de modèles, une liste des documents par nom de modèle ou numéro d’identification, ainsi que la valeur de chaque champ d’un document.
    • L'interface CLI ou les scripts personnalisés ne peuvent accéder qu'aux modèles et documents contenant au moins un champ renseigné. Les modèles et documents vides ne s'afficheront pas.
  • Vous pouvez utiliser des scripts personnalisés écrits en Batch ou en PowerShell pour Windows, ou en ShellScript pour macOS et Linux. Le fichier ninjarmm-cli.exe se trouvant dans un dossier protégé inaccessible aux utilisateurs standard, vous devez exécuter tout script utilisant cette fonctionnalité en tant qu’administrateur système, ou modifier les autorisations en conséquence.
  • Pour les appareils Linux, vous devez ajouter ./ devant ninjarmm-cli dans le Terminal pour exécuter correctement la commande.
  • Sur les appareils Windows, si vous devez stocker la sortie de la commande `ninjarmm-cli get` dans une variable, vous pouvez utiliser le paramètre facultatif `--direct-out` pour forcer l'utilisation du canal de sortie standard `stdout` au lieu des fonctions de l'API Windows telles que `WriteConsoleW` ou `WriteFile`. Cependant, cela peut entraîner la perte de la prise en charge de la sortie Unicode, qui ne fonctionne pas correctement sur certaines versions de Windows avec le canal `stdout`. Reportez-vous à l’exemple suivant de cette commande :
 ninjarmm-cli --direct-out get [Nom du champ]

Accès aux champs sécurisés via les automatisations

La longueur des champs sécurisés ne doit pas dépasser 200 caractères.

N’importe laquelle des automatisations que vous exécutez à partir de la bibliothèque d’automatisation peut accéder aux champs sécurisés, notamment :

  • Les conditions de script
  • Conditions du composé de script
  • Tâches planifiées par stratégie
  • Tâches planifiées globales
  • Actions « Exécuter avant » lors de la sauvegarde, de l’application de correctifs, de l’installation de l’application et d’autres tâches similaires
  • Actions à exécuter après la sauvegarde, l'application de correctifs, l'installation de l'application et autres tâches similaires
  • Actions d’automatisation en fonction de conditions
  • Exécuter l’automatisation

Voici quelques points importants à noter concernant les champs sécurisés :

  • NinjaOne ne donne accès aux champs personnalisés sécurisés que pendant l’exécution de l’automatisation.
  • Le terminal Web ou le terminal local ne peut pas accéder aux champs personnalisés sécurisés.
  • Seules les commandes exécutées sur un appareil local et lancées par NinjaOne peuvent accéder aux champs personnalisés, y compris les opérations GET et SET, les champs personnalisés sécurisés et les champs sécurisés de documentation. Toutefois, les champs sécurisés de documentation utilisent uniquement les opérations SET via l'interface de ligne de commande (CLI).

Interaction avec les champs personnalisés via l'interface de ligne de commande Windows ou le terminal

L'agent décompresse automatiquement cet exécutable dans les dossiers suivants :

  • Windows : C:ProgramDataNinjaRMMAgentninjarmm-cli.exe
  • macOS : /Applications/NinjaRMMAgent/ProgramData/ninjarmm-cli
  • Linux : /opt/NinjaRMMAgent/ProgramData/ninjarmm-cli

Sous Windows, utilisez la variable d'environnement spéciale au niveau du Système suivante :

  • Windows : %NINJARMMCLI%pourC:ProgramDataNinjaRMMAgentninjarmm-cli.exe
  • Linux : $NINJA_DATA_PATH/ninjarmm-cli définir $fieldname $variable

L'interface CLI de NinjaRMM ressemble à l'exemple Windows suivant :

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe help

ninjarmm-cli - Outil CLI permettant d’accéder aux champs personnalisés de l’agent NinjaRMM et de les gérer.
Utilisation :
  help - affiche ce texte

Champs globaux et de rôle :

get <NOM d'attribut> - récupère la valeur de l'attribut dont le nom est spécifié

set <NOM d'attribut> <VALEUR de l'attribut et liste de valeurs séparées par des virgules> - attribue la valeur spécifiée à l'attribut
   --stdin - modificateur facultatif permettant d'utiliser des données transmises par canalisation. Par exemple : dir | %NINJARMMCLI% set --stdin myfield

options <NOM d’attribut> - récupère la liste des valeurs valides pour le nom d’attribut (utile pour les attributs à Menu déroulant et à sélection multiple)

Champs de documentation :

templates - récupère la liste des modèles comportant des documents et des attributs
   --ids, --names - modificateurs facultatifs

documents « <IDENTIFIANT/nom du modèle> » - récupère la liste des documents associés au modèle par identifiant ou nom (guillemets obligatoires)
   --ids, --names - modificateurs facultatifs

get « <IDENTIFIANT/nom du modèle> » « <NOM du document> » <NOM de l'attribut> - récupère l'attribut d'un document à partir du nom du document et de l'identifiant/nom du modèle (guillemets obligatoires)

get "<NOM d'un modèle unique>" <NOM d'attribut> - récupère un attribut d'un document unique par le nom du modèle (guillemets obligatoires)

org-set "<IDENTIFIANT/nom du modèle>" "<NOM du document>" <NOM d'attribut> "<VALEUR de l'attribut et liste de valeurs séparées par des virgules>" - définit l'attribut pour le document/attribut spécifié par le nom du document et l'identifiant/nom du modèle (guillemets obligatoires)

org-set "<NOM d'un modèle unique>" <NOM d'attribut> "<VALEUR de l'attribut et liste de valeurs séparées par des virgules>" - définit l'attribut d'un document/attribut unique par le nom du modèle (guillemets obligatoires)

org-clear "<IDENTIFIANT/nom du modèle>" "<NOM du document>" <NOM de l'attribut> - efface la valeur du document en fonction du nom du document et de l'identifiant/nom du modèle (guillemets obligatoires, la valeur est représentée par NULL)

org-clear "<NOM d'un modèle unique>" <NOM de l'attribut> - efface la valeur d'un document unique en fonction du nom du modèle (guillemets obligatoires, la valeur est représentée par NULL)

org-options "<IDENTIFIANT/nom du modèle>" "<NOM du document>" <NOM de l'attribut> - récupérer la liste des valeurs valides pour le nom de l'attribut du document, en fonction du nom du document et de l'identifiant/nom du modèle (pertinent pour les attributs à Menu déroulant et à Sélection multiple)

org-options "<NOM d'un modèle unique>" <NOM d'attribut> - récupère la liste des valeurs valides pour un nom d'attribut de document donné, en fonction du nom du modèle (pertinent pour les attributs de Menu déroulant et à sélection multiple)

Format de sortie :

codes de sortie : 0 - Succès, 1 - Erreur

en cas de succès : sortie avec le code 0 et affichage de la valeur

en cas d'erreur : sortie avec le code 1 et affichage de la description de l'erreur

Pour lire le code de sortie : Windows : « echo %errorlevel% », Unix : « echo $? »

Types d’attributs :

  Case à cocher - Type booléen, valeurs acceptées : 0, 1, true, false

  Numérique - Type entier, valeurs comprises entre -2147483648 et 2147483647, prend en charge les paramètres avancés du filtre de saisie.

  Décimal - Type flottant, valeurs comprises entre -9999999,999999 et 9999999,999999, prend en charge les paramètres avancés du filtre de saisie.

  TextMultiLine, Text - chaîne de caractères standard

  TextEmail - chaîne de caractères standard, doit respecter le format d’e-mail RFC 5322

  TextIpAddress - chaîne de caractères standard, doit respecter le format IPv4 ou IPv6, prend en charge les paramètres avancés du filtre de saisie

  TextPhone - chaîne de caractères standard, doit respecter le format de numéro de téléphone E.164

  TextEncrypted - chaîne de caractères standard codée, prend en charge les paramètres avancés du filtre de saisie (en lecture seule pour la Documentation)

  DateTime - nombre entier représentant le nombre de secondes écoulées depuis le début de l'époque Unix ou au format ISO « aaaa-MM-jjTHH:mm:ss » sans fuseau horaire (UTC)

  Date - nombre entier de secondes depuis le début de l'époque Unix ou au format ISO « aaaa-MM-jj »

  Time - nombre entier de secondes ou au format ISO « HH:mm:ss »

  MultiSelect - liste d'options uniques (voir la commande <OPTIONS>)

  MultiSelectNode, MultiSelectClient, MultiSelectClientLocation - (en lecture seule via l'interface CLI) données relatives à l'organisation

  Menu déroulant - une option unique (voir la commande <OPTIONS>)

  DropdownNode, DropdownClient, DropdownClientLocation - (en lecture seule via l'interface CLI) données relatives à l'organisation

  Pièce jointe - (en lecture seule via l'interface CLI) objet JSON contenant des informations sur le fichier.

  WYSIWYG - (en lecture seule via l'interface CLI) objet JSON contenant du contenu HTML et TEXTE

Module PowerShell NinjaOne

Lorsque vous installez l'agent NinjaOne, NinjaOne déploie et charge un module PowerShell NinjaOne personnalisé permettant d'interagir avec les champs personnalisés. Vous pouvez accéder à ninjarmm-cli sur les appareils Windows via ce module PowerShell en appelant simplement les noms de fonctions au sein de PowerShell.

Commandes PowerShell NinjaOne

Les commandes PowerShell que vous pouvez exécuter sont détaillées ci-dessous.

Get-NinjaProperty 

La commande Get-NinjaProperty est une évolution de la commande d'origine Ninja-Property-Get. La fonction Get-NinjaProperty récupère et convertit la valeur d'un champ personnalisé Ninja en fonction du nom et du type de champ spécifiés.

La commande accepte un nom du champ, un type de propriété et, facultativement, un nom du document. Lorsque vous fournissez un nom de document, la fonction récupère la valeur de la propriété à partir du document Ninja spécifié. En fonction du type spécifié (par exemple, Date, DateTime, Case à cocher, Liste déroulante, etc.), la fonction convertit la valeur brute en un objet PowerShell approprié. Si le type de propriété nécessite des options supplémentaires telles que des listes déroulantes ou des champs à sélection multiple, la fonction récupère ces options et renvoie une valeur conviviale.

Les types pris en charge sont les suivants : Pièce jointe, Case à cocher, Date, DateTime, Décimal, Liste déroulante du dispositif, Device MultiSelect, Dropdown, Email, Integer, IP Address, MultiLine, MultiSelect, Organization Dropdown, Organization Location Dropdown, Organization Location MultiSelect, Organization MultiSelect, Phone, Secure, Text, Time, WYSIWYG et URL.

La syntaxe est la suivante : Get-NinjaProperty [-Name] <STRING[]> [[-Type] <STRING>] [[-DocumentName] <STRING>] [<COMMONPARAMETERS>]

Exemples

La récupération d’une liste déroulante de champ personnalisé sans spécification de type renvoie la valeur GUID de l’option sélectionnée dans la liste déroulante.

powershell1-upscaled.png
Figure 1 : Aucun type de champ spécifié (cliquez pour agrandir)

La récupération d’un menu déroulant de champ personnalisé en spécifiant le type de champ personnalisé (menu déroulant) fait que la commande renvoie la valeur conviviale affichée dans la plateforme au lieu de la valeur GUID.

powershell2-upscaled.png
Figure 2 : Typede champ spécifié (cliquez pour agrandir)

Définir-NinjaProperty

La commande Set-NinjaProperty est une évolution de la commande originale Ninja-Property-Set. La fonction Set-NinjaProperty définit un champ personnalisé en fonction des paramètres fournis. Lorsqu’un type de champ personnalisé est spécifié, elle tente de convertir la valeur fournie en une valeur prise en charge par ce champ particulier. Par exemple, lorsqu’un objet DateTime lui est fourni et que le type « Date » est spécifié, elle convertit l’objet date en horodatage de l’époque Unix et définit le champ avec cette valeur.

Elle permet également de définir des champs de menu déroulant et de sélection multiple en utilisant les noms de champ plutôt que leurs GUID.

Les types pris en charge sont les suivants : Case à cocher, Date, Date ou Date et heure, DateTime, Décimal, Liste déroulante, E-mail, Entier, Adresse IP, Multiligne, Sélection multiple, Téléphone, Sécurisé, Texte, Heure, URL et WYSIWYG.

Exemples

La configuration d’un champ personnalisé de type menu déroulant sans spécification du type de champ nécessite la valeur GUID unique de l’option de menu déroulant souhaitée.

powershell3-upscaled.png
Figure 3 : Aucun type de champ spécifié (cliquez pour agrandir)

La configuration d’un champ personnalisé de type menu déroulant en spécifiant le type de champ « menu déroulant » vous permet d’utiliser la valeur conviviale affichée au sein de la plateforme à la place de la valeur GUID.

powershell4-upscaled.png
Figure 4 : Typede champ spécifié (cliquez pour agrandir)

Les deux commandes, Get-NinjaProperty et Set-NinjaProperty, prennent une assistance complète pour Unicode, ce qui vous permet de définir et de récupérer des emojis via ces commandes.

Vous pouvez accéder à des informations supplémentaires et à des exemples pour ces deux commandes en ouvrant PowerShell sur un appareil sur lequel l’agent NinjaOne est installé, puis en saisissant :

Obtenir de l’aide pour Get-NinjaProperty

Ou

Obtenir de l’aide pour Set-NinjaProperty

Toutes les commandes PowerShell NinjaOne d’origine fonctionnent toujours comme prévu initialement. Ces commandes sont les suivantes :

Ninja-Property-Get $AttributeName
Ninja-Property-Définir $AttributeName $Value
Ninja-Property-Options $AttributeName
Ninja-Property-Effacer $AttributeName

Commandes de documentation

Ninja-Property-Docs-Modèles
Ninja-Property-Docs-Noms $TemplateId
Ninja-Property-Docs-Noms "$NomModèle"
Ninja-Property-Docs-Get $TemplateId "$DocumentName" $AttributeName
Ninja-Property-Docs-Set $TemplateID "$DocumentName" $AttributeName "value"
Ninja-Property-Docs-Get-Single "templateName" "fieldName"
Ninja-Property-Docs-Set-Single "templateName" "fieldName" "nouvelle valeur"
Ninja-Property-Docs-Effacer
Ninja-Property-Docs-Options
Ninja-Property-Docs-Clear-Single - efface la valeur d’un document unique par nom de modèle (guillemets obligatoires, représenté par NULL)
Ninja-Property-Docs-Options-Single - récupère la liste des valeurs valides pour le nom d’un attribut de document unique par nom de modèle (pertinent pour les attributs à Menu déroulant et à Sélection multiple)

Interaction avec les champs personnalisés via les commandes CLI de Windows, les scripts batch personnalisés, les scripts Shell sous UNIX ou les scripts Shell personnalisés

Les exemples de cette section montrent comment utiliser des commandes et des scripts batch pour des types spécifiques de champs personnalisés. Ils décrivent des appels à ninjarmm-cli sans chemin d’accès complet, mais vous pouvez spécifier le chemin d’accès complet en fonction de votre plateforme, comme décrit précédemment dans cet article. Il n’y a aucune différence entre les appels à l’utilitaire CLI sur différentes plateformes.

Horodateur

Le temps est calculé comme suit :

  • Le système utilise le 1er Janvier 1970 à 00:00:00 UTC comme date de référence Unix (époque Unix).
  • La valeur de la date correspond au nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC.Vous pouvez utiliser un outil de conversion d’horodatage pour obtenir cette valeur sous forme de date lisible par l’utilisateur.
  • Si vous définissez la valeur au format ISO, elle sera convertie en nombre de secondes écoulées depuis le 1er janvier 1970 en UTC.

Les exemples de cette section montrent comment utiliser des commandes ou des scripts PowerShell pour des types spécifiques de champs personnalisés.

Sélectionnez une rubrique pour continuer :

Case à cocher

Pour le champ « Case à cocher », la valeur définie doit être soit « true » (1), soit « false » (0).

Récupérer :

# obtenir la valeur du champ « case à cocher »
> ninjarmm-cli get globalcheckbox
0

Définir:

# définir une valeur booléenne pour le champ « case à cocher »
> ninjarmm-cli set globalcheckbox 0
0
> ninjarmm-cli set globalcheckbox 1
1
> ninjarmm-cli set globalcheckbox true
1
> ninjarmm-cli set globalcheckbox false
0

Date

Pour le champ « Date », la valeur définie doit être exprimée en secondes ou au format ISO (Organisation internationale de normalisation) (aaaa-mm-jj en TUC).

Récupérer :

# obtenir la valeur du champ « date »
> ninjarmm-cli get globaldate
456

Définir:

# définir la valeur pour le champ « Date »
> ninjarmm-cli set globaldate 1626875470000

> ninjarmm-cli set testdate 2021-10-15
1634256000

Date/Heure

Pour le champ Date/Heure, la valeur définie doit être exprimée en secondes ou au format ISO (aaaa-mm-jj ou hh:mm:ss en UTC).

Récupérer :

# obtenir la valeur du champ date-heure
> ninjarmm-cli get globaldatetime
1626875470000

Définir:

# définir la valeur du champ date-heure
> ninjarmm-cli set globaldatetime 1626875470000
1626875470000

> ninjarmm-cli set testdatetime 2021-10-15T00:00:00
1634256000

Décimal

Pour le champ décimal, la valeur définie doit être un nombre compris entre -9999999,999999 et 9999999,999999.

Récupérer :

# obtenir la valeur du champ décimal
> ninjarmm-cli get globaldecimal
123,456

Définir:

# définir la valeur pour le champ décimal
> ninjarmm-cli set typedecimal 1
1

> ninjarmm-cli set typedecimal 1,23
1,23

> ninjarmm-cli set typedecimal 1,23
1,23

> ninjarmm-cli set typedecimal 1.2345678901234567890
1.234567 # tronqué à la précision maximale ; il vaut mieux ne pas utiliser une valeur plus courte pour éviter les problèmes de conversion de type de données

> ninjarmm-cli set typedecimal 1234567890.1234567890
1234567890,123457

Liste déroulante

Pour le champ « Menu déroulant », la valeur définie doit correspondre exactement à une option valide, soit en utilisant le GUID (identifiant unique global), soit en utilisant le nom du champ tel qu'il apparaît lorsque vous exécutez la commande « options ».

Options:

# lister les options pour le champ déroulant
> ninjarmm-cli options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Obtenir le GUID après le nom d'option :

# recherchez le GUID de l'option après le nom de l'option pour le champ déroulant
> ninjarmm-cli options globaldropdown | grep "Option 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Récupérer :

# obtenir la valeur du champ déroulant
> ninjarmm-cli get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Définir:

# définir la valeur du champ déroulant
> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-mail

Récupérer :

# récupérer la valeur enregistrée
> ninjarmm-cli get typeemail
[email protected]

Définir:

# corriger les valeurs
> ninjarmm-cli set typeemail [email protected]
[email protected]

> ninjarmm-cli set typeemail [email protected]
[email protected]

# définir des valeurs incorrectes
> ninjarmm-cli set typeemail [email protected]
Erreur : format ou type de valeur incorrect...

Entier

Pour le champ « Entier », la valeur définie doit être un nombre entier (un nombre sans décimales) compris entre -2147483648 et 2147483647.

Récupération :

# Obtenir la valeur d'un champ entier
> ninjarmm-cli get globalinteger
456

Définir:

# définir la valeur du champ « Entier »
> ninjarmm-cli set globalinteger 123

Adresse IP

Pour le champ IP, la valeur définie doit être au format IPv4 (protocole Internet version 4) ou IPv6 (protocole Internet version 6).

Récupération :

# récupérer la valeur enregistrée
> ninjarmm-cli get typeipaddress
192.168.1.100

Définir:

# définir des valeurs correctes
> ninjarmm-cli set typeipaddress 255.255.255.255
255.255.255.255

> ninjarmm-cli set typeipaddress 0.0.0.0
0.0.0.0

# définir des valeurs incorrectes
> ninjarmm-cli set typeipaddress 192.168.1.
Erreur : format / type de valeur incorrect...

> ninjarmm-cli set typeipaddress 255.255.255.256
Erreur : format / type de valeur incorrect...

> ninjarmm-cli set typeipaddress 0.-1.0.0
Erreur : format / type de valeur incorrect...

Multi ligne

Récupération :

# récupération d'un champ multi ligne
> ninjarmm-cli get globalmultiline
sampletext1

Définir:

# définir un champ de texte
> ninjarmm-cli set globalmultiline sampletext2

Définition (autre méthode) :

# définir un champ de texte avec des données transmises par pipeline
> ls -alh | ninjarmm-cli set globalmultiline

NinjaOne prend en charge l'utilisation d'une seule chaîne multiligne si vous utilisez le caractère de contrôle `n (la touche « backtick » ou « backspark » suivie de la lettre « n »). Le texte doit être saisi dans l'invite de commande sur une seule ligne en raison des restrictions de l'interface CLI ou du terminal, et est limité à 10 000 caractères. Vous pouvez également inclure des espaces en plaçant la chaîne entière entre guillemets. Lorsque vous utilisez ces caractères de contrôle, les données s'affichent comme suit :

Ninja-Property-Set multiline "ligne avec des espaces'nligne2'nligne3'nvaleur finale"

multiline
ligne avec des espaces
ligne2
ligne3
valeur finale

La syntaxe par défaut de la commande « Set » suffit dans la plupart des cas. Avec cette syntaxe, l’outil « ninjarmm-cli » récupère les données à partir des arguments de ligne de commande. Mais cela ne suffit pas toujours, et il est parfois nécessaire de récupérer les données via le canal stdin (entrée standard).

Par exemple, lorsque vous devez définir des données dans le champ de texte multi ligne , ou que vous souhaitez récupérer la sortie d’un fichier et la stocker dans ce champ. Ou encore, pour éviter que les tabulations ou les espaces ne soient cassés dans la sortie formatée d’autres applications.

Pour ce faire, l’outil CLI propose une syntaxe alternative avec le paramètre --stdin. Ainsi, lorsque vous utilisez cet argument, vous devez fournir les données en entrée via le canal stdin, à l’aide de pipes Unix. Exemple : dir | ninjarmm-cli set --stdin [nom de mon champ] ou cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [nom d’un autre champ]. Les données transmises par le tuyau seront stockées dans le champ cible si elles répondent à toutes les conditions de type de champ.

Sélection multiple

Options:

# liste des options pour un champ à sélection multiple
> ninjarmm-cli options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Obtenir le GUID après le nom d'option :

# rechercher le GUID d'une option à partir de son nom pour le champ à sélection multiple
> ninjarmm-cli options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Définir:

# définir plusieurs valeurs pour le champ de sélection multiple, séparées par des virgules
> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981a

Récupérer :

# obtenir les valeurs d'un champ à sélection multiple
> ninjarmm-cli get globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Numéro de téléphone

Récupérer :

# obtenir la valeur enregistrée
ninjarmm-cli get typephone
+1234567890

Définir:

# définir les valeurs correctes
> ninjarmm-cli set typephone +77013273916
+77013273916

> ninjarmm-cli set typephone 123456789012344567
123456789012344567

> ninjarmm-cli set typephone +123456789012344567
+123456789012344567

# définir des valeurs incorrectes
> ninjarmm-cli set typephone 14953273916qwerty
Erreur : format / type de valeur incorrect ...

> ninjarmm-cli set typephone 1234567890123445678 # trop long
Erreur : format / type de valeur incorrect...

> ninjarmm-cli set typephone ++123456789012344567
Erreur : format / type de valeur incorrect...

Champ sécurisé

Pour empêcher l’affichage des valeurs des champs sécurisés dans la sortie du script sur les appareils Windows, le script doit contenir les commandes @echo off et @echo on autour du code qui appelle %NINJARMMCLI% set [nom du champ sécurisé] [valeur sécurisée]. Par défaut, Windows affiche toutes les commandes saisies ou exécutées par les utilisateurs.

Pour empêcher l'affichage des valeurs des champs sécurisés dans la sortie du script sur les appareils Unix (macOS ou Linux), le script ne doit pas contenir la commande `set -x ` avant son exécution. Cette omission empêche l'affichage des commandes exécutées contenant des valeurs sécurisées.

Exemple : 

# récupérer un champ sécurisé
> ninjarmm-cli get globalsecure
sampletext1

Définir:

# définir un champ sécurisé
> ninjarmm-cli set globalsecure sampletext2

Texte

Récupérer :

# récupérer un champ de texte
> ninjarmm-cli get globaltext
sampletext1

Définir:

# définir un champ texte
> ninjarmm-cli set globaltext sampletext2

Temps

Pour le champ « Temps », la valeur définie doit être exprimée en secondes ou au format ISO (hh:mm:ss).

Récupération :

# obtenir la valeur du champ « time »
> ninjarmm-cli get globaldatetime
120

Définir:

# définir la valeur pour le champ « Time »
> ninjarmm-cli set globaldatetime 3600
3600

> ninjarmm-cli set testdatetime 00:00:00
0

URL

Le champ URL est limité à 200 caractères et doit commencer par https://.

Récupérer :

# récupérer le champ URL
> ninjarmm-cli get url
https://www.google.com

Définir:

# définir le champ URL
> ninjarmm-cli set url https://www.ninjarmm.com

Champs de documentation

Récupérer :

# Récupérer la liste des modèles
> ninjarmm-cli templates
1=modèle 1
2=modèle 2

# Récupérer la liste des documents après l'ID de modèle
> ninjarmm-cli documents 2
16=modèle 2

# Récupérer la liste des documents après le nom de modèle
> ninjarmm-cli documents « modèle 2 »
16=modèle 2

# Récupérer la valeur du champ dans un document
> ninjarmm-cli get "template 2" "template 2" fieldname
Voici la valeur du champ

Définir:

# définir un attribut sur le document/attribut spécifié à l’aide du nom du document et de l’ID/du nom du modèle (guillemets obligatoires)
> ninjarmm-cli org-set "modèle 2" "ExampleDoc" ExampleTextField "SampleText1"

# définir un attribut pour un document/attribut unique à l’aide du nom du modèle (guillemets obligatoires)
> ninjarmm-cli org-set « template 2 » ExampleTextField « SampleText1 »

# Effacer la valeur d’un document en indiquant son nom et l’ID/le nom du modèle (guillemets obligatoires, représenté par NULL)
> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField

# Effacer la valeur d’un document en indiquant le nom du modèle (guillemets obligatoires, représenté par NULL)
> ninjarmm-cli org-clear "template 2" ExampleTextField

Options:

# obtenir la liste des valeurs valides pour un attribut de document en fonction du nom du document et de l’identifiant/nom du modèle (utilisable pour les attributs à Menu déroulant et à Sélection multiple)
> ninjarmm-cli org-options « template 2 » « ExampleDoc » ExampleTextField

# Obtenir la liste des valeurs valides pour un attribut de document donné en fonction du nom du modèle (pertinent pour les attributs à Menu déroulant et à Sélection multiple)
> ninjarmm-cli org-options "template 2" ExampleTextField

Interagir avec les champs personnalisés via des commandes PowerShell ou des scripts personnalisés

Les exemples de cette section montrent comment utiliser des commandes PowerShell ou des scripts pour des types spécifiques de champs personnalisés. Utilisez les liens ci-dessous pour accéder aux scripts que vous souhaitez consulter :

Case à cocher

Pour le champ « Case à cocher », la valeur définie doit être soit « true » (1), soit « false » (0).

Récupérer :

# obtenir la valeur du champ « case à cocher »
> Ninja-Property-Get globalcheckbox
0

Définir:

# définir une valeur booléenne pour le champ « case à cocher »
> Ninja-Property-Set globalcheckbox 0
0
> Ninja-Property-Set globalcheckbox 1
1
> Ninja-Property-Set globalcheckbox true
1
> Ninja-Property-Set globalcheckbox false
0

Date

Pour le champ Date, la valeur à définir doit être exprimée en secondes ou au format ISO (aaaa-mm-jj en UTC).

Récupération :

# obtenir la valeur du champ « Date »
> Ninja-Property-Get globaldate
456

Définir:

# définir la valeur du champ « Date »
> Ninja-Property-Set globaldate 1626875470000

> Ninja-Property-Set testdate 2021-10-15
1634256000

Date/Heure

Récupération :

# récupérer la valeur d'un champ date-heure
> Ninja-Property-Get globaldatetime
1626875470000

Définir:

# définir la valeur du champ date-heure
> Ninja-Property-Set globaldatetime 1626875470000
1626875470000

> Ninja-Property-Set testdatetime 15/10/2021T00:00:00
1634256000

Décimal

Récupération :

# obtenir la valeur d’un champ décimal
> Ninja-Property-Get globaldecimal
123,456

Définir:

# définir la valeur pour un champ décimal
> Ninja-Property-Set typedecimal 1
1

> Ninja-Property-Set typedecimal 1,23
1,23

> Ninja-Property-Set typedecimal 1,23
1,23

> Ninja-Property-Set typedecimal 1,2345678901234567890
1.234567 # tronqué à la précision MAX ; il vaut mieux ne pas utiliser une précision supérieure pour éviter les problèmes de conversion de type de données

> Ninja-Property-Set de type décimal 1234567890,1234567890
1234567890,123457

Menu déroulant

Options:

# liste des options pour le champ déroulant
> Ninja-Property-Options globaldropdown
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Récupérer le GUID d'une option après son nom :

# rechercher le GUID d'une option à partir de son nom pour le champ déroulant
> Ninja-Property-Get globaldropdown | grep "Option1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40b67c4f981a

Récupérer :

# Obtenir la valeur du champ déroulant
> Ninja-Property-Get globaldropdown
74a6ffda-708e-435a-86e3-40b67c4f981a

Définir:

# définir la valeur du champ déroulant
> Ninja-Property-Set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-mail

Récupérer :

# obtenir la valeur enregistrée
> Ninja-Property-Get typeemail
[email protected]

Définir:

# corriger les valeurs
> Ninja-Property-Set typeemail [email protected]
[email protected]

> Ninja-Property-Set typeemail [email protected]
[email protected]

# définir des valeurs incorrectes
> Ninja-Property-Set typeemail [email protected]
Erreur : format / type de valeur incorrect...

Entier

Pour le champ « Integer », la valeur définie doit être un nombre entier (un nombre entier sans décimales) compris entre -2147483648 et 2147483647.

Récupération :

# obtenir la valeur d'un champ entier
> Ninja-Property-Get globalinteger
456

Définir:

# définir la valeur du champ « Entier »
> Ninja-Property-Set globalinteger 123

Adresse IP

Pour le champ IP , la valeur définie doit être au format IPv4 (protocole Internet version 4) ou IPv6 (protocole Internet version 6).

Récupération :

# récupérer la valeur enregistrée
> Ninja-Property-Get typeipaddress
192.168.1.100

Définir:

# définir des valeurs correctes
> Ninja-Property-Set typeipaddress 255.255.255.255
255.255.255.255

> Ninja-Property-Set typeipaddress 0.0.0.0
0.0.0.0

# définir des valeurs incorrectes
> Ninja-Property-Set typeipaddress 192.168.1.
Erreur : format / type de valeur incorrect...

> Ninja-Property-Set typeipaddress 255.255.255.256
Erreur : format / type de valeur incorrect...

> Ninja-Property-Set typeipaddress 0.-1.0.0
Erreur : format / type de valeur incorrect...

Multi ligne

En raison des restrictions de l'interface CLI ou du Terminal, le texte doit être saisi dans l'invite de commande sur une seule ligne et est limité à 10 000 caractères.

Récupération :

# récupération d'un champ de texte
> Ninja-Property-Get globaltext
sampletext1

Définir:

# champ de texte « définir »
>Ninja-Property-Set globaltext sampletext2

Sélection multiple

Options:

# liste des options pour un champ à sélection multiple
> Ninja-Property-Options globalmultiselect
333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option2
74a6ffda-708e-435a-86e3-40b67c4f981a=Option1
f1ba449c-fd34-49df-b878-af3877180d17=Option3

Obtenir le GUID d'une option après son nom :

# rechercher le GUID d'une option par son nom pour le champ à sélection multiple
> Ninja-Property-Options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'
74a6ffda-708e-435a-86e3-40ba67c4f981a

Définir:

# définir plusieurs valeurs pour un champ à sélection multiple, séparées par des virgules
> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008, 
74a6ffda-708e-435a-86e3-40b67c4f981a

Récupérer :

# obtenir les valeurs d'un champ à sélection multiple
> Ninja-Property-Get globalmultiselect
333f541e-747e-4a1e-a1e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Numéro de téléphone

Récupérer :

# récupérer la valeur enregistrée
Ninja-Property-Get typephone
+1234567890

Définir:

# définir les valeurs correctes
> Ninja-Property-Set typephone +77013273916
+77013273916

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone 123456789012344567
123456789012344567

> Ninja-Property-Set typephone +123456789012344567
+123456789012344567

# valeurs incorrectes
> Ninja-Property-Set typephone 14953273916qwerty
Erreur : format / type de valeur incorrect...

> Ninja-Property-Set typephone 14953273916qwerty
Erreur : format / type de valeur incorrect...

> Ninja-Property-Set typephone 1234567890123445678 # trop long
Erreur : format / type de valeur incorrect...

> Ninja-Property-Set typephone ++123456789012344567
Erreur : format / type de valeur incorrect...

Champ sécurisé

Récupérer :

# récupérer le champ sécurisé
> Ninja-Property-Get globalsecure
sampletext1

Définir:

# définir un champ sécurisé
> Ninja-Property-Set globalsecure sampletext2

Texte

Récupérer :

# récupérer le champ texte
> Ninja-Property-Get globaltext
exemple de texte 1

Définir:

# définir le champ texte
>Ninja-Property-Set globaltext sampletext2

Temps

Pour le champ « Temps », la valeur définie doit être exprimée en secondes ou au format ISO (hh:mm:ss).

Récupération :

# obtenir la valeur du champ « Heure »
> Ninja-Property-Get globaldatetime
120

Définir:

# définir la valeur du champ « Time »
> Ninja-Property-Set globaldatetime 3600
3600

> Ninja-Property-Set testdatetime 00:00:00
0

URL

Le champ URL est limité à 200 caractères et doit commencer par « https://' ».

Récupérer :

# récupérer le champ URL
> Ninja-Property-Get url
https://www.google.com

Définir:

# définir le champ URL
>Ninja-Property-Set url https://www.google.com

Champs de documentation

Récupération :

# récupérer la liste des modèles
> Ninja-Property-Docs-Templates
1=modèle 1
2=modèle 2

# récupérer la liste des documents par ID de modèle
> Ninja-Property-Docs-Names 2
16=modèle 2

# récupérer la liste des documents par nom de modèle
> Ninja-Property-Docs-Names « modèle 2 »
16=modèle 2

# récupérer la valeur du champ dans un document
> Ninja-Property-Docs-Get « template 2 » « template 2 » nom_du_champ
Voici la valeur du champ

Définir:

# définir un attribut pour le document/attribut spécifié par nom de document et ID/nom de modèle (guillemets obligatoires)
> Ninja-Property-Docs-Set 2 "ExampleDoc" ExampleTextField

# définir un attribut pour un seul document/attribut par nom de modèle (guillemets obligatoires)
> Ninja-Property-Docs-Set-Single "modèle 2" ExampleTextField "sampletext1"

# efface la valeur d'un document en indiquant son nom et l'ID/le nom du modèle (guillemets obligatoires, représenté par NULL)
> Ninja-Property-Docs-Clear « modèle 2 » « ExampleDoc » ExampleTextField

# efface la valeur d'un document en indiquant le nom du modèle (guillemets obligatoires, représenté par NULL)
> Ninja-Property-Docs-Clear-Single « modèle 2 » ExampleTextField

Options:

# obtenir la liste des valeurs valides pour le nom d’un attribut de document en fonction du nom du document et de l’ID/nom du modèle (pertinent pour les attributs à Menu déroulant et à Sélection multiple)
> Ninja-Property-Docs-Options « template 2 » « ExampleDoc » ExampleTextField

# obtenir la liste des valeurs valides pour un nom d'attribut de document unique par nom de modèle (pertinent pour les attributs à Menu déroulant et à Sélection multiple)
> Ninja-Property-Docs-Options-Single « template 2 » ExampleTextField

Ressources complémentaires

Pour en savoir plus sur la documentation, les champs personnalisés, l'interface de ligne de commande (CLI) et les scripts, consultez les articles suivants :

Interface de ligne de commande (CLI)

Utilisation de l’interface de ligne de commande (CLI) dans NinjaOne.

Documentation et champs personnalisés

Écriture de script

FAQ

Pour aller plus loin