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

Sujet

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

Environnement

  • NinjaOne Endpoint Management
  • Documentation NinjaOne

Description

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

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

Remarques importantes

Avant d'utiliser ninjarmm-cli, vous devez tenir compte des points 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 dans l'interface CLI ou dans 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 dans un document.
    • La 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'affichent pas.
  • Vous pouvez utiliser des scripts personnalisés écrits en Batch ou PowerShell pour Windows, ou en ShellScript pour macOS et Linux. Étant donné que ninjarmm-cli.exe se trouve 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.
  • Pour 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 API Windows telles que WriteConsoleW/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

Vous ne pouvez pas dépasser 200 caractères pour les champs sécurisés.

Toute automatisation que vous exécutez à partir de la bibliothèque d'automatisations peut accéder aux champs sécurisés, notamment :

  • Conditions de script
  • Conditions composées de script
  • Tâches planifiées de stratégie
  • Tâches planifiées globales
  • Actions à exécuter avant la sauvegarde, l'application de correctifs, l'installation de l'application et 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 de documentation sécurisés. Cependant, les champs de documentation sécurisés n'utilisent que les opérations SET via l'interface CLI.

Interaction avec les champs personnalisés via l'interface CLI 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 set $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 d'attribut et liste de valeurs séparées par des virgules> - attribue une valeur à l'attribut spécifié
   --stdin - modificateur facultatif permettant d'utiliser des données transmises par canalisation. Par exemple : dir | %NINJARMMCLI% set --stdin myfield

options <nom d'attribut> - obtient la liste des valeurs valides pour le nom d'attribut (utile pour les attributs à liste déroulante et à sélection multiple)

Champs de documentation :

templates - obtient une liste des modèles contenant des documents et des attributs
   --ids, --names - modificateurs facultatifs

documents "<id/nom du modèle>" - obtient la liste des documents du modèle par id ou nom (guillemets obligatoires)
   --ids, --names - modificateurs facultatifs

get "<id/nom du modèle>" "<nom du document>" <nom de l'attribut> - obtient l'attribut d'un document par son nom et l'id/nom du modèle (guillemets obligatoires)

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

org-set "<id/nom du modèle>" "<nom du document>" <nom de l'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 nom de document et id/nom du modèle (guillemets obligatoires)

org-set "<nom du modèle unique>" <nom de l'attribut> "<valeur de l'attribut et liste de valeurs séparées par des virgules>" - définit l'attribut pour un document/attribut unique par nom de 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, représenté 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, représenté par NULL)

org-options "<id/nom du modèle>" "<nom du document>" <nom de l'attribut> - obtenir la liste des valeurs valides pour le nom d'attribut du document par nom de document et id/nom du modèle (valable pour les attributs à liste déroulante et à sélection multiple)

org-options "<nom de 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 liste déroulante et à sélection multiple)

Format de sortie :

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

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

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

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

Types d'attributs :

  CheckBox - Type booléen, valeurs acceptables : 0, 1, true, false

  Numeric - 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 d'entrée.

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

  TextEmail - chaîne de caractères standard, doit respecter le format d'adresse 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 chiffrée, prend en charge les paramètres avancés du filtre d'entrée (en écriture 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 TEXT

Module PowerShell NinjaOne

Lorsque vous installez l'agent NinjaOne, NinjaOne déploie et charge un module PowerShell NinjaOne personnalisé pour 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 fonction dans 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 Ninja-Property-Get d'origine. 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 de champ, un type de propriété et un nom de document facultatif. 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, Checkbox, Dropdown, 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 : Attachment, Checkbox, Date, DateTime, Decimal, Device Dropdown, 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'un menu déroulant de champ personnalisé sans spécification de type renvoie la valeur GUID de l'option sélectionnée dans le menu déroulant.

Figure 1 : Aucun type de champ spécifié (cliquez pour agrandir)

La récupération d'une liste déroulante de champ personnalisé tout en spécifiant le type de champ personnalisé (liste déroulante) fait que la commande renvoie la valeur conviviale visible dans la plateforme au lieu de la valeur GUID.

Figure 2 : Typede champ spécifié (cliquez pour agrandir)

Set-NinjaProperty

La commande Set-NinjaProperty est une évolution de la commande Ninja-Property-Set d'origine. La fonction Set-NinjaProperty définit un champ personnalisé en fonction des paramètres fournis. Lorsqu'un type de champ 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 est fourni et que le type « Date » est spécifié, elle convertit l'objet date en horodatage Unix (epoch) et définit le champ avec cette valeur.

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

Les types pris en charge sont les suivants : Checkbox, Date, Date ou Date Time, DateTime, Decimal, Dropdown, Email, Integer, IP Address, MultiLine, MultiSelect, Phone, Secure, Text, Time, URL et WYSIWYG.

Exemples

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

Figure 3 : Aucun type de champ spécifié (cliquez pour agrandir)

La configuration d'un champ personnalisé de type liste déroulante tout en spécifiant le type de champ comme « liste déroulante » vous permet d'utiliser la valeur conviviale affichée dans la plateforme à la place de la valeur GUID.

Figure 4 : Typede champ spécifié (cliquez pour agrandir)

Les deux commandes, Get-NinjaProperty et Set-NinjaProperty, prennent entièrement en charge Unicode, ce qui vous permet de définir et de récupérer des emojis via ces commandes.

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

Get-Help Get-NinjaProperty

Ou

Get-Help 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-Set $AttributeName $Value
Ninja-Property-Options $AttributeName
Ninja-Property-Clear $AttributeName

Commandes de documentation

Ninja-Property-Docs-Templates
Ninja-Property-Docs-Names $TemplateId
Ninja-Property-Docs-Names "$TemplateName"
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" "new value"
Ninja-Property-Docs-Clear
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'attribut d'un document unique par nom de modèle (pertinent pour les attributs à liste déroulante et à sélection multiple)

Interaction avec les champs personnalisés via les commandes CLI 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 complet, mais vous pouvez spécifier le chemin 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.

Horodatage

L'heure est calculée comme suit :

  • Le système utilise le 1er janvier 1970 à 00:00:00 UTC comme date de référence 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 une forme 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 un sujet pour continuer :

Case à cocher

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

Obtenir :

# récupérer 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 UTC).

Récupérer :

# récupérer la valeur du champ date
> ninjarmm-cli get globaldate
456

Définir :

# définir la valeur du 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 :

# récupérer 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 :

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

Définir :

# définir la valeur du 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 est préférable de 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

Menu déroulant

Pour le champ Dropdown, 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 :

# liste des 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 par nom d'option :

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

Obtenir :

# récupérer 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 Integer, la valeur définie doit être un entier (un nombre entier sans décimales) compris entre -2147483648 et 2147483647.

Récupération :

# récupérer 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 (Internet Protocol version 4) ou IPv6 (Internet Protocol 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-lignes

Récupérer :

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

Définir :

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

Définir (autre méthode) :

# définir un champ de texte avec des données redirigées
> 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 » plus 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 espaces'nligne2'nligne3'nvaleur finale"

multiline
ligne avec 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 parfois, cela ne suffit pas et vous devez récupérer les données à partir du canal stdin (entrée standard).

Par exemple, lorsque vous devez définir des données dans le champ de texte multiligne , ou que vous souhaitez récupérer la sortie d'un fichier et la stocker dans le champ. Ou encore, pour éviter la rupture des tabulations ou des espaces 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 sur le canal stdin, à l'aide de pipes Unix. Par 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 redirigées 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 le 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 par nom d'option :

# rechercher le GUID d'une option par 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 à 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 :

# récupérer les valeurs du 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 :

# récupérer 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 ...

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 @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 que les utilisateurs saisissent ou exécutent.

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

Obtenir : 

# get champ sécurisé
> ninjarmm-cli get globalsecure
sampletext1

Définir :

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

Texte

Récupérer :

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

Définir :

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

Heure

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

Récupérer :

# récupérer la valeur du champ heure
> ninjarmm-cli get globaldatetime
120

Définir :

# définir la valeur du 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 :

# obtenir la liste des modèles
> ninjarmm-cli templates
1=modèle 1
2=modèle 2

# obtenir la liste des documents par ID de modèle
> ninjarmm-cli documents 2
16=modèle 2

# obtenir la liste des documents par nom de modèle
> ninjarmm-cli documents "modèle 2"
16=modèle 2

# récupérer la valeur d'un 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é par nom de document et ID/nom de modèle (guillemets obligatoires)
> ninjarmm-cli org-set "template 2" "ExampleDoc" ExampleTextField "SampleText1"

# définir un attribut pour un document/attribut unique par nom de modèle (guillemets obligatoires)
> ninjarmm-cli org-set "template 2" ExampleTextField "SampleText1"

# effacer la valeur d'un document par nom de document et ID/nom de modèle (guillemets obligatoires, représenté par NULL)
> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField

# effacer la valeur d'un document unique par nom de modèle (guillemets obligatoires, représenté par NULL)
> ninjarmm-cli org-clear "template 2" ExampleTextField

Options :

# obtenir la liste des valeurs valides pour le nom d'attribut d'un document par nom de document et ID/nom de modèle (valable pour les attributs à liste déroulante et à sélection multiple)
> ninjarmm-cli org-options "template 2" "ExampleDoc" ExampleTextField

# obtenir la liste des valeurs valides pour un nom d'attribut de document unique par nom de modèle (valable pour les attributs à liste déroulante et à sélection multiple)
> ninjarmm-cli org-options "template 2" ExampleTextField

Interaction 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, la valeur définie doit être soit true (1), soit false (0).

Obtenir :

# 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éfinie doit être exprimée en secondes ou au format ISO (aaaa-mm-jj en UTC).

Récupérer :

# récupérer 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

Obtenir :

# récupérer la valeur du 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 2021-10-15T00:00:00
1634256000

Décimal

Get :

# récupérer la valeur d'un champ décimal
> Ninja-Property-Get globaldecimal
123,456

Définir :

# définir la valeur d'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 maximale, 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 typedecimal 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

Obtenir le GUID d'une option par son nom :

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

Obtenir :

# 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 :

# récupérer 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 entier (un nombre entier sans décimales) compris entre -2147483648 et 2147483647.

Récupérer :

# récupérer 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 (Internet Protocol version 4) ou IPv6 (Internet Protocol 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-lignes

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érer :

# get champ de texte
> Ninja-Property-Get globaltext
sampletext1

Définir :

# champ de texte de définition
>Ninja-Property-Set globaltext sampletext2

Sélection multiple

Options :

# liste des options pour le 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 par 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 le 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 :

# récupérer 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 ...

Sécurisé

Récupérer :

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

Définir :

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

Texte

Obtenir :

# récupérer le champ texte
> Ninja-Property-Get globaltext
sampletext1

Définir :

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

Heure

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

Récupérer :

# récupérer 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érer :

# 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 d'un champ dans un document
> Ninja-Property-Docs-Get "template 2" "template 2" fieldname
Voici la valeur du champ

Définir :

# définir un attribut sur 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 sur un seul document/attribut par nom de modèle (guillemets obligatoires)
> Ninja-Property-Docs-Set-Single "template 2" ExampleTextField "sampletext1"

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

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

Options :

# obtenir la liste des valeurs valides pour le nom d'un attribut de document par nom de document et ID/nom de modèle (pertinent pour les attributs à liste déroulante 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 à liste déroulante et à sélection multiple)
> Ninja-Property-Docs-Options-Single "template 2" ExampleTextField

Ressources supplémentaires

Pour en savoir plus sur la documentation, les champs personnalisés, l'interface 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

Scripts

FAQ

Pour aller plus loin