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

Contenu

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

Environnement

  • NinjaOne Endpoint Management
  • NinjaOne Documentation

Description

Le composant ninjarmm-cli est un fichier exécutable qui vous permet d'accéder et d'interagir avec des champs personnalisés spécifiques et des données de documentation à 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 prendre en compte les 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 de programmation ou dans des scripts personnalisés. Vous pouvez générer une liste de modèles, une liste de documents par nom de modèle ou numéro d'identification, et la valeur de chaque champ d'un document.
    • Les scripts CLI ou personnalisés ne peuvent accéder qu'aux modèles et aux documents qui contiennent au moins un champ rempli. Les modèles et documents vides ne s'affichent 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 ordinaires, vous devez exécuter tout script utilisant cette fonctionnalité en tant que 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 la commande correctement.
  • Pour les périphériques Windows, si vous devez stocker la sortie de la commande ninjarmm-cli get dans une variable, vous pouvez utiliser le paramètre optionnel --direct-out pour forcer l'utilisation du canal de sortie standard stdout au lieu des fonctions de l'API Windows comme WriteConsoleW/WriteFile. Toutefois, en procédant ainsi, vous risquez de perdre la prise en charge de la sortie Unicode, qui ne fonctionne pas correctement sur certaines versions de Windows avec le canal stdout. Voir l'exemple suivant de cette commande :
 ninjarmm-cli --direct-out get [field name]

Accès aux champs sécurisés par le biais d'automatisations

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

Tout automatisme exécuté à partir de la bibliothèque d'automatismes peut accéder à des champs sécurisés :

  • Conditions d'écriture
  • Conditions du composé de script
  • Tâches programmées de la politique
  • Tâches planifiées globales
  • Exécuter les actions préalables à la sauvegarde, à l'application de correctifs, à l'installation de l'application et à d'autres tâches similaires
  • Exécuter les actions de sauvegarde, de correction, d'installation de l'application et autres tâches similaires
  • Actions d'automatisation sur les conditions
  • Lancer l'automatisation

Voici quelques points importants à noter en ce qui concerne 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 à l'initiative de NinjaOne peuvent accéder aux champs personnalisés, y compris les opérations GET et SET, les champs sécurisés personnalisés et les champs sécurisés de documentation. Cependant, les champs sécurisés de la documentation n'utilisent que les opérations SET via la CLI.

Interagir avec les champs personnalisés via l'interface de programmation 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

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

  • Windows : %NINJARMMCLI% for C: ProgramDataNinjaRMMAgentninjarmm-cli.exe
  • Linux : $NINJA_DATA_PATH/ninjarmm-cli set $fieldname $variable

Le CLI de NinjaRMM ressemble à l'exemple Windows suivant :

c:ProgramDataNinjaRMMAgentninjarmm-cli.exe help ninjarmm-cli - CLI tool to access and manage NinjaRMM Agent Custom Fields.Usage:  help - show this text Global and Role fields: get <attribute name> - get value of the attribute with specified name set <attribute name> <attribute value and comma-separated values list> - set value to the specified attribute   --stdin - optional modifier to use piped data. For example: dir | %NINJARMMCLI% set --stdin myfield options <attribute name> - get list of the valid values for attribute name (actual for drop-down and multi-select attributes) Documentation fields: templates - get a list of the templates, which have documents and attributes   --ids, --names - optional modifiers documents "<template id/name>" - get a list of the documents for the template by id or name (quotes required)   --ids, --names - optional modifiers get "<template id/name>" "<document name>" <attribute name> - get attribute from document by document name and template id/name (quotes required) get "<single template name>" <attribute name> - get attribute from single document by template name (quotes required) org-set "<template id/name>" "<document name>" <attribute name> "<attribute value and comma-separated values list>" - set attribute to the specified document/attribute by document name and template id/name (quotes required) org-set "<single template name>" <attribute name> "<attribute value and comma-separated values list>" - set attribute to single document/attribute by template name (quotes required) org-clear "<template id/name>" "<document name>" <attribute name> - clear value of document by document name and template id/name (quotes required, represents as NULL) org-clear "<single template name>" <attribute name> - clear the value of a single document by template name (quotes required, represents as NULL) org-options "<template id/name>" "<document name>" <attribute name> - get list of the valid values for document attribute name by document name and template id/name (actual for drop-down and multi-select attributes) org-options "<single template name>" <attribute name> - get a list of the valid values for a single document attribute name by template name (actual for drop-down and multi-select attributes) Output format: exit codes: 0 - Success, 1 - Error on success: exit with 0 and print value on error:   exit with 1 and print error description to read exit code: Win: 'echo %errorlevel%', Unix: 'echo $?' Attribute types:   CheckBox - Boolean type, acceptable values: 0, 1, true, false   Numeric - Integer type, values range from -2147483648 to 2147483647, supports Advanced Input filter settings.   Decimal - Float type, values range from -9999999.999999 to 9999999.999999, supports Advanced Input filter settings.   TextMultiLine, Text - regular string   TextEmail - regular string, should match RFC 5322 Email format   TextIpAddress - regular string, should match IPv4 or IPv6 format, supports Advanced Input filter settings   TextPhone - regular string, should match E.164 phone number format   TextEncrypted - regular encrypted string, supports Advanced Input filter settings (write-only for Documentation)   DateTime - Integer seconds since start of Unix epoch or ISO format 'yyyy-MM-ddTHH:mm: ss' without TimeZone (UTC)   Date - Integer seconds since start of Unix epoch or ISO format 'yyyy-MM-dd'   Time - Integer seconds or ISO format 'HH:mm:ss'   MultiSelect - list of unique options (view <options> command)   MultiSelectNode, MultiSelectClient, MultiSelectClientLocation - (read-only by CLI) organization-related data   Drop-down - one unique option (see <options> command)   DropdownNode, DropdownClient, DropdownClientLocation - (read-only by CLI) organization-related data   Attachment - (read-only by CLI) JSON-object with information about the file.   WYSIWYG - (read-only by CLI) JSON-object with HTML and TEXT content

Module PowerShell de 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 au ninjarmm-cli sur les appareils Windows via ce module PowerShell en appelant simplement les noms de fonctions dans PowerShell.

Commandes PowerShell de 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 originale Ninja-Property-Get. La fonction Get-NinjaProperty permet de récupérer et de convertir 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é dans le document Ninja spécifié. En fonction du type spécifié (par exemple, Date , DateTime, Checkbox, Dropdown, etc.), la fonction convertira 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, date-heure, décimale, liste déroulante des appareils, sélection multiple des appareils, liste déroulante, courriel, nombre entier, adresse IP, multiligne, sélection multiple, liste déroulante de l'organisation, liste déroulante de l'emplacement de l'organisation, sélection multiple de l'emplacement de l'organisation, sélection multiple de l'organisation, téléphone, sécurisé, texte, heure, WYSIWYG et URL.

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

Exemples

L'extraction d'un champ personnalisé sans spécifier de type renvoie la valeur GUID de l'option sélectionnée dans la liste déroulante.

powershell1-upscaled.png
Image 1 : Aucun type de champ n'est spécifié (cliquer pour agrandir)

Lors de la récupération d'un champ personnalisé déroulant en spécifiant le type de champ personnalisé (déroulant), la commande renvoie la valeur conviviale affichée dans la plate-forme au lieu de la valeur GUID.

powershell2-upscaled.png
Image 2 : Type de champ spécifié (cliquer pour agrandir)

Set-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 lui est donné, il tente de convertir la valeur fournie en une valeur prise en charge par ce champ particulier. Par exemple, lorsqu'un objet DateTime est donné et que le type "Date" est spécifié, il convertit l'objet date en un horodatage d'époque Unix et définit le champ avec cette valeur.

Il peut également définir des champs déroulants et multisélectionnés en utilisant les noms des champs plutôt que leurs GUID.

Les types pris en charge sont les suivants : Case à cocher, date, date ou heure, date-heure, décimale, liste déroulante, courriel, entier, adresse IP, multiligne, multisélection, téléphone, sécurisé, texte, heure, URL et WYSIWYG.

Exemples

La définition d'un champ personnalisé déroulant sans spécifier le type de champ nécessite la valeur GUID unique de l'option déroulante souhaitée.

powershell3-upscaled.png
Image 3 : Aucun type de champ n'est spécifié (cliquer pour agrandir)

La définition d'un champ personnalisé déroulant en spécifiant que le type de champ est déroulant vous permet d'utiliser la valeur conviviale qui est affichée dans la plate-forme au lieu de la valeur GUID.

powershell4-upscaled.png
Image 4 : Type de champ spécifié (cliquer pour agrandir)

Les deux commandes, Get-NinjaProperty et Set-NinjaProperty, sont entièrement compatibles avec Unicode, de sorte que vous pouvez définir et récupérer des emojis par le biais de ces commandes.

Vous pouvez obtenir des détails supplémentaires et des exemples pour les deux commandes en ouvrant PowerShell sur un appareil avec l'agent NinjaOne installé et en entrant :

Get-Help Get-NinjaProperty

Ou

Get-Help Set-NinjaProperty

Toutes les commandes PowerShell originales de NinjaOne fonctionnent toujours comme elles ont été conçues à l'origine. Ces ordres sont les suivants :

Ninja-Property-Get $AttributeNameNinja-Property-Set $AttributeName $ValueNinja-Property-Options $AttributeNameNinja-Property-Clear $AttributeName

Commandes de documentation

Ninja-Property-Docs-TemplatesNinja-Property-Docs-Names $TemplateIdNinja-Property-Docs-Names "$TemplateName"Ninja-Property-Docs-Get $TemplateId "$DocumentName" $AttributeNameNinja-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-ClearNinja-Property-Docs-OptionsNinja-Property-Docs-Clear-Single - clear value of single document by template name (quotes required, represented as NULL)Ninja-Property-Docs-Options-Single - get list of the valid values for single document attribute name by template name (actual for drop-down and multi-select attributes)

Interaction avec les champs personnalisés via les commandes CLI de Windows, les scripts personnalisés par lots, ShellScript sous UNIX ou les scripts personnalisés ShellScript

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

Horodateur

Le temps est calculé comme suit :

  • Le système fait référence au 1er janvier 1970, à 00:00:00 UTC, comme étant l'époque Unix.
  • La date est exprimée en secondes à partir du 1er janvier 1970, à 00:00:00 UTC. Vous pouvez utiliser un outil de conversion d'horodatage pour obtenir cette valeur pour une date lisible par l'homme.
  • Si vous définissez la valeur au format ISO, elle sera convertie en secondes à partir de 1970-01-01 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 à cocher, la valeur définie doit être soit vraie (1), soit fausse (0).

Get:

# get value for checkbox field> ninjarmm-cli get globalcheckbox0

Set:

# set a boolean value to the checkbox field> ninjarmm-cli set globalcheckbox 00> ninjarmm-cli set globalcheckbox 11> ninjarmm-cli set globalcheckbox true1> ninjarmm-cli set globalcheckbox false0

Date

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

Get:

# get value for date field> ninjarmm-cli get globaldate456

Set:

# set value to date field> ninjarmm-cli set globaldate 1626875470000 > ninjarmm-cli set testdate 2021-10-151634256000

Date/Heure

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

Get:

# get value for date-time field> ninjarmm-cli get globaldatetime1626875470000

Set:

# set value to date-time field> ninjarmm-cli set globaldatetime 16268754700001626875470000 > ninjarmm-cli set testdatetime 2021-10-15T00:00:001634256000

Décimal

Pour le champ décimal, la valeur définie doit être un nombre et se situer dans la plage de -9999999.999999 à 9999999.999999.

Get:

# get value for decimal field> ninjarmm-cli get globaldecimal123.456

Set:

# set value to decimal field> ninjarmm-cli set typedecimal 11 > ninjarmm-cli set typedecimal 1.231.23 > ninjarmm-cli set typedecimal 1.231.23 > ninjarmm-cli set typedecimal 1.23456789012345678901.234567 # truncated to max precision, better not to use a shorter value to avoid data type conversion issues > ninjarmm-cli set typedecimal 1234567890.12345678901234567890.123457

Liste déroulante

Pour le champ déroulant, la valeur définie doit correspondre exactement à une option valide, soit en utilisant le GUID (Globally Unique Identifier), soit en utilisant le nom du champ tel qu'il est listé lorsque vous exécutez la commande options.

Options :

# list options for the dropdown field> ninjarmm-cli options globaldropdown333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Obtenir le GUID par nom d'option :

# find the option GUID by the option name for the dropdown field> ninjarmm-cli options globaldropdown | grep "Option 1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get value for dropdown field> ninjarmm-cli get globaldropdown74a6ffda-708e-435a-86e3-40b67c4f981a

Set:

# set value to the dropdown field> ninjarmm-cli set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-mail

Get:

# get stored value> ninjarmm-cli get [email protected]

Set:

# correct values> ninjarmm-cli set typeemail [email protected]@test.test > ninjarmm-cli set typeemail [email protected]@test123.test.othertest # set wrong values> ninjarmm-cli set typeemail [email protected]: Wrong value format or type...

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.

Get:

# get value for integer field> ninjarmm-cli get globalinteger456

Set:

# set value to integer field> 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).

Get:

# get stored value> ninjarmm-cli get typeipaddress192.168.1.100

Set:

# set correct values> ninjarmm-cli set typeipaddress 255.255.255.255255.255.255.255 > ninjarmm-cli set typeipaddress 0.0.0.00.0.0.0 # set wrong values> ninjarmm-cli set typeipaddress 192.168.1.Error: Wrong value format / type ... > ninjarmm-cli set typeipaddress 255.255.255.256Error: Wrong value format / type ... > ninjarmm-cli set typeipaddress 0.-1.0.0Error: Wrong value format / type ...

Lignes multiples

Get:

# get multi-line field> ninjarmm-cli get globalmultilinesampletext1

Set:

# set text field> ninjarmm-cli set globalmultiline sampletext2 
Set (alternate): # set text field with piped data> ls -alh | ninjarmm-cli set globalmultiline

NinjaOne prend en charge l'utilisation d'une seule chaîne de plusieurs lignes 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 sous la forme d'une seule ligne de texte, en raison des restrictions imposées par le CLI ou le terminal, et est limité à 10 000 caractères. Vous pouvez également incorporer des espaces en mettant toute la chaîne 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'nline2'nline3'nfinalval"

multilineline with spacesline2line3finalval

La syntaxe par défaut de la commande "Set" est suffisante dans la plupart des cas. Avec la syntaxe par défaut, l'outil 'ninjarmm-cli' prend les données des arguments de la ligne de commande. Mais parfois, cela ne suffit pas et vous devez obtenir les données 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 obtenir des données du fichier et les stocker dans le champ. Ou pour empêcher l'interruption 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. Par conséquent, lorsque vous utilisez cet argument, vous devez fournir les données en entrée sur le canal stdin, en utilisant les pipes Unix. Par exemple : dir | ninjarmm-cli set --stdin [my field name] ou cat /proc/cpuinfo | grep vendor_id | ninjarmm-cli set --stdin [another field name]. Les données acheminées seront stockées dans le champ cible si elles remplissent toutes les conditions relatives au type de champ.

Sélection multiple

Options :

# list options for multi-select field> ninjarmm-cli options globalmultiselect333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Obtenir le GUID par nom d'option :

# find option GUID by the option name for the multi-select field> ninjarmm-cli options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40b67c4f981a

Set:

# set multiple values for multi-select field, comma-separated> ninjarmm-cli set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008,74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get values for multi-select field> ninjarmm-cli get globalmultiselect333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Numéro de téléphone

Get:

# get stored valueninjarmm-cli get typephone+1234567890

Set:

# set correct values> ninjarmm-cli set typephone +77013273916+77013273916 > ninjarmm-cli set typephone 123456789012344567123456789012344567 > ninjarmm-cli set typephone +123456789012344567+123456789012344567 # set wrong values> ninjarmm-cli set typephone 14953273916qwertyError: Wrong value format / type ... > ninjarmm-cli set typephone 1234567890123445678 # too longError: Wrong value format / type ... > ninjarmm-cli set typephone ++123456789012344567Error: Wrong value format / type ...

Sécurisé

Pour éviter que les valeurs des champs sécurisés ne s'affichent dans la sortie du script pour les périphériques Windows, le script doit contenir @echo off et @echo on autour du code qui appelle %NINJARMMCLI% set [secure field name] [secured value]. Par défaut, Windows fait écho à toutes les commandes saisies ou exécutées par les utilisateurs.

Pour éviter que les valeurs des champs sécurisés ne soient affichées dans la sortie du script pour les périphériques Unix (macOS ou Linux), le script ne doit pas contenir set -x avant d'être utilisé. Cette omission permet d'éviter les échos des commandes exécutées qui contiennent des valeurs sécurisées.

Get: 

# get secure field> ninjarmm-cli get globalsecuresampletext1

Set:

# set secure field> ninjarmm-cli set globalsecure sampletext2

Texte

Get:

# get text field> ninjarmm-cli get globaltextsampletext1

Set:

# set text field> 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).

Get:

# get value for time field> ninjarmm-cli get globaldatetime120

Set:

# set value to time field> ninjarmm-cli set globaldatetime 36003600 > ninjarmm-cli set testdatetime 00:00:000

URL

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

Get:

# get URL field> ninjarmm-cli get urlhttps://www.google.com

Set:

# set URL field> ninjarmm-cli set url https://www.ninjarmm.com

Champs du document

Get:

# get templates list> ninjarmm-cli templates1=template 12=template 2 # get documents list by template ID> ninjarmm-cli documents 216=template 2 # get documents list by template name> ninjarmm-cli documents "template 2"16=template 2 # get field value from document> ninjarmm-cli get "template 2" "template 2" fieldnameThis is the field value

Set:

# set attribute to the specified document/attribute by document name and template id/name (quotes required)> ninjarmm-cli org-set "template 2" "ExampleDoc" ExampleTextField "SampleText1" # set attribute to single document/attribute by template name (quotes required)> ninjarmm-cli org-set "template 2" ExampleTextField "SampleText1" # clear value of document by document name and template id/name (quotes required, represented as NULL)> ninjarmm-cli org-clear "template 2" "ExampleDoc" ExampleTextField # clear value of single document by template name (quotes required, represented as NULL)> ninjarmm-cli org-clear "template 2" ExampleTextField

Options :

# get list of the valid values for document attribute name by document name and template id/name (actual for drop-down and multi-select attributes)> ninjarmm-cli org-options "template 2" "ExampleDoc" ExampleTextField # get list of the valid values for a single document attribute name by template name (actual for drop-down and multi-select attributes)> 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 ou des scripts PowerShell pour des types spécifiques de champs personnalisés. Utilisez les liens ci-dessous pour accéder aux scripts que vous souhaitez examiner :

Case à cocher

Pour le champ Case à cocher champ, la valeur définie doit être soit vraie (1) ou fausse (0).

Get:

# get value for checkbox field> Ninja-Property-Get globalcheckbox0

Set:

# set a boolean value to the checkbox field> Ninja-Property-Set globalcheckbox 00> Ninja-Property-Set globalcheckbox 11> Ninja-Property-Set globalcheckbox true1> Ninja-Property-Set globalcheckbox false0

Date

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

Get:

# get value for date field> Ninja-Property-Get globaldate456

Set:

# set value to date field> Ninja-Property-Set globaldate 1626875470000 > Ninja-Property-Set testdate 2021-10-151634256000

Date/Heure

Get:

# get value for date-time field> Ninja-Property-Get globaldatetime1626875470000

Set:

# set value to date-time field> Ninja-Property-Set globaldatetime 16268754700001626875470000 > Ninja-Property-Set testdatetime 2021-10-15T00:00:001634256000

Décimal

Get:

# get value for decimal field> Ninja-Property-Get globaldecimal123.456

Set:

# set value to decimal field> Ninja-Property-Set typedecimal 11 > Ninja-Property-Set typedecimal 1.231.23 > Ninja-Property-Set typedecimal 1.231.23 > Ninja-Property-Set typedecimal 1.23456789012345678901.234567 # truncated to max precision, better not to use more precision to avoid data type conversion issues > Ninja-Property-Set typedecimal 1234567890.12345678901234567890.123457

Liste déroulante

Options :

# list options for the dropdown field> Ninja-Property-Options globaldropdown333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Récupérer le GUID de l’option par le nom de l’option :

# find the option GUID by the option name for the dropdown field> Ninja-Property-Get globaldropdown | grep "Option1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get value for dropdown field> Ninja-Property-Get globaldropdown74a6ffda-708e-435a-86e3-40b67c4f981a

Set:

# set value to the dropdown field> Ninja-Property-Set globaldropdown f1ba449c-fd34-49df-b878-af3877180d17

E-mail

Get:

# get stored value> Ninja-Property-Get [email protected]

Set:

# correct values> Ninja-Property-Set typeemail [email protected]@test.test > Ninja-Property-Set typeemail [email protected]@test123.test.othertest # set wrong values> Ninja-Property-Set typeemail [email protected]: Wrong value format / type ...

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.

Get:

# get value for integer field> Ninja-Property-Get globalinteger456

Set:

# set value to integer field> 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).

Get:

# get stored value> Ninja-Property-Get typeipaddress192.168.1.100

Set:

# set correct values> Ninja-Property-Set typeipaddress 255.255.255.255255.255.255.255 > Ninja-Property-Set typeipaddress 0.0.0.00.0.0.0 # set wrong values> Ninja-Property-Set typeipaddress 192.168.1.Error: Wrong value format / type ... > Ninja-Property-Set typeipaddress 255.255.255.256Error: Wrong value format / type ... > Ninja-Property-Set typeipaddress 0.-1.0.0Error: Wrong value format / type ...

Lignes multiples

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

Get:

# get text field> Ninja-Property-Get globaltextsampletext1

Set:

# set text field>Ninja-Property-Set globaltext sampletext2

Sélection multiple

Options :

# list options for multi-select field> Ninja-Property-Options globalmultiselect333f541e-747e-4a1e-a2e2-a82c1c2f2008=Option274a6ffda-708e-435a-86e3-40b67c4f981a=Option1f1ba449c-fd34-49df-b878-af3877180d17=Option3

Récupérer le GUID de l’option par le nom de l’option :

# find option GUID by the option name for the multi-select field> Ninja-Property-Options globalmultiselect | grep "Option 1" | awk -F= '{print $1}'74a6ffda-708e-435a-86e3-40ba67c4f981a

Set:

# set multiple values for multi-select field, comma-separated> Ninja-Property-Set globalmultiselect 333f541e-747e-4a1e-a2e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Get:

# get values for multi-select field> Ninja-Property-Get globalmultiselect333f541e-747e-4a1e-a1e2-a82c1c2f2008, 74a6ffda-708e-435a-86e3-40b67c4f981a

Numéro de téléphone

Get:

# get stored valueNinja-Property-Get typephone+1234567890

Set:

# set correct values> Ninja-Property-Set typephone +77013273916+77013273916 > Ninja-Property-Set typephone 123456789012344567123456789012344567 > Ninja-Property-Set typephone 123456789012344567123456789012344567 > Ninja-Property-Set typephone +123456789012344567+123456789012344567 # set wrong values> Ninja-Property-Set typephone 14953273916qwertyError: Wrong value format / type ... > Ninja-Property-Set typephone 14953273916qwertyError: Wrong value format / type ... > Ninja-Property-Set typephone 1234567890123445678 # too longError: Wrong value format / type ... > Ninja-Property-Set typephone ++123456789012344567Error: Wrong value format / type ...

Sécurisé

Get:

# get secure field> Ninja-Property-Get globalsecuresampletext1

Set:

# set secure field>Ninja-Property-Set globalsecure sampletext2

Texte

Get:

# get text field> Ninja-Property-Get globaltextsampletext1

Set:

# set text field>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).

Get:

# get value for time field> Ninja-Property-Get globaldatetime120

Set:

# set value to time field> Ninja-Property-Set globaldatetime 36003600 > Ninja-Property-Set testdatetime 00:00:000

URL

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

Get:

# get URL field> Ninja-Property-Get urlhttps://www.google.com

Set:

# set URL field>Ninja-Property-Set url https://www.google.com

Champs du document

Get:

# get templates list> Ninja-Property-Docs-Templates1=template 12=template 2 # get documents list by template ID> Ninja-Property-Docs-Names 216=template 2 # get documents list by template name> Ninja-Property-Docs-Names "template 2"16=template 2 # get field value from document> Ninja-Property-Docs-Get "template 2" "template 2" fieldnameThis is the field value

Set:

# set attribute to the specified document/attribute by document name and template id/name (quotes required)> Ninja-Property-Docs-Set 2 "ExampleDoc" ExampleTextField # set attribute to single document/attribute by template name (quotes required)> Ninja-Property-Docs-Set-Single "template 2" ExampleTextField "sampletext1" # clear value of document by document name and template id/name (quotes required, represented as NULL)> Ninja-Property-Docs-Clear "template 2" "ExampleDoc" ExampleTextField # clear value of single document by template name (quotes required, represented as NULL)> Ninja-Property-Docs-Clear-Single "template 2" ExampleTextField

Options :

# get list of the valid values for document attribute name by document name and template id/name (actual for drop-down and multi-select attributes)> Ninja-Property-Docs-Options "template 2" "ExampleDoc" ExampleTextField # get list of the valid values for a single document attribute name by template name (actual for drop-down and multi-select attributes)> Ninja-Property-Docs-Options-Single "template 2" ExampleTextField

Ressources supplémentaires

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