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

PowerShell : Set-NinjaProperty

Sujet

Cet article explique comment utiliser Set-NinjaProperty pour définir la valeur d'un champ personnalisé en fonction de son nom et de son type.

Si vous utilisez le module PowerShell NinjaOne en dehors d'un script d'automatisation, vous devrez peut-être ajuster la politique d'exécution de PowerShell. Pour plus d'informations sur les politiques d'exécution, consultez la documentation de Microsoft : À propos des politiques d'exécution ( lien externe).

Environnement

  • NinjaOne
  • Microsoft PowerShell

Description

La cmdlet Set-NinjaProperty vous permet de définir la valeur d’un champ personnalisé en spécifiant son nom, son type et sa valeur. Si un type est spécifié, la cmdlet convertit automatiquement la valeur fournie dans un format compatible avec le type de champ spécifié. Par exemple, si un objet DateTime est fourni et que le type est « Date », la cmdlet convertit la valeur en horodatage de l’époque Unix avant de définir le champ.

Cette cmdlet prend également en charge la définition de valeurs pour les champs de liste déroulante et à sélection multiple à l’aide de noms de champ plutôt que de GUID. Les types de champs pris en charge sont les suivants : « Checkbox », « Date », « Date », « DateTime », « Decimal », «
», « Dropdown », « Email », « Integer », « IP Address », « MultiLine », « MultiSelect », « Phone », « Secure », « Text », « Time », « URL » et « WYSIWYG ».

Seuls les champs disposant de droits d’écriture automatisés peuvent être mis à jour à l’aide de cette cmdlet. Le champ personnalisé spécifié est mis à jour après la prochaine synchronisation réussie avec la plateforme NinjaOne, qui a généralement lieu en quelques minutes. L’appareil exécutant cette cmdlet doit être un délégué du document contenant le champ personnalisé si le paramètre -DocumentName est utilisé.

Syntaxe

Set-NinjaProperty [-Name] <chaîne> [[-Value] <Object>] [[-Type] <chaîne>] [[-DocumentName] <chaîne>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]

Exemples

Exemple 1 : champ personnalisé de type case à cocher

Set-NinjaProperty -Name « deployed » -Value $True -Type « Checkbox »

Définit la valeur du champ personnalisé « deployed » sur true. Valeurs acceptées pour la case à cocher : 0, 1, True, False ou une valeur booléenne.

Exemple 2 : champ personnalisé de type « Date »

$DeploymentDate = Get-Date -Year "2026" -Month "02" -Day "01" -Hour "0" -
Minute "0" -Second "0"
Set-NinjaProperty -Name "deploymentDate" -Value $DeploymentDate -Type "Date"

Définit le champ personnalisé « deploymentDate » sur la date spécifiée. Valeurs de date acceptées : objets DateTime ou chaînes de caractères convertibles en DateTime.

Exemple 3 : champ personnalisé de date et d’heure

$LastSeen = Get-Date -Year "2026" -Month "02" -Day "02" -Hour "13" -Minute
"0" -Second "0"
Set-NinjaProperty -Name "lastSeen" -Value $LastSeen -Type "DateTime"

Définit le champ personnalisé « lastSeen » sur la date et l'heure spécifiées. Valeurs de date et d'heure acceptées : objets DateTime ou chaînes de caractères convertibles en DateTime.

Exemple 4 : champ personnalisé de type décimal

PS C:> Set-NinjaProperty -Name "pi" -Value 3.14 -Type "Decimal"

Dans cet exemple, le champ personnalisé décimal « pi » est défini sur 3,14. Valeurs décimales acceptées : tout nombre compris entre -9999999,999999 et 9999999,999999.

Exemple 5 : champ personnalisé de type liste déroulante

PS C:> Set-NinjaProperty -Name "favoriteBand" -Value "Mötley Crüe" -Type
"Dropdown"

Dans cet exemple, le champ personnalisé « favoriteBand » de type liste déroulante est défini sur « Mötley Crüe » à l’aide du nom d’option
au lieu du GUID. Valeurs acceptées pour la liste déroulante : le nom de l’une des options prédéfinies pour le champ.

Exemple 6 : champ personnalisé « e-mail »

PS C:> Set-NinjaProperty -Name "supportEmail" -Value "[email protected]"
-Type "Email"

Dans cet exemple, le champ personnalisé « supportEmail » est défini sur « [email protected] ». Valeurs d'e-mail acceptables : toute chaîne de caractères conforme à la norme officielle RFC 5322 pour les adresses e-mail.

Exemple 7 : champ personnalisé de type entier

PS C:> Set-NinjaProperty -Name "favoriteNumber" -Value "42" -Type "Integer"

Dans cet exemple, le champ personnalisé « favoriteNumber » de type entier est défini sur 42. Valeurs entières acceptées : tout nombre entier compris entre -2147483648 et 2147483647.

Exemple 8 : champ personnalisé de type « Adresse IP »

PS C:> Set-NinjaProperty -Name "primaryDNS" -Value "1.1.1.1" -Type
"IPAddress"

Dans cet exemple, le champ personnalisé « primaryDNS » de type adresse IP est défini sur « 1.1.1.1 ». Valeurs d'adresse IP acceptées : toute chaîne de caractères représentant une adresse IPv4 ou IPv6 valide.

Exemple 9 : champ personnalisé multiligne

PS C:> Set-NinjaProperty -Name "exampleMultiline" -Value "Ligne 1`n`nLigne 3"
-Type "MultiLine"

Dans cet exemple, le champ personnalisé multiligne « exampleMultiline » est défini sur une chaîne de texte comportant plusieurs lignes
. Valeurs multilignes acceptées : toute chaîne de caractères comptant moins de 10 000 caractères.

Exemple 10 : champ personnalisé à sélection multiple

PS C:> Set-NinjaProperty -Nom « exampleMultiselect » -Valeur (« Valeur 3 »,
« Option 1 ») -Type « MultiSelect »

Dans cet exemple, le champ personnalisé à sélection multiple « exampleMultiselect » est défini sur « Value 3 » et « Option 1 » en utilisant les noms d'affichage à la place des GUID. Valeurs acceptables pour la sélection multiple : un tableau de chaînes de caractères représentant les noms d'affichage des options valides à définir, que l'on peut trouver à l'aide de la cmdlet Ninja-Property-Options.

Exemple 11 : champ personnalisé « Téléphone »

PS C:> Set-NinjaProperty -Name « supportNumber » -Value « +18008675309 » -Type
« Phone »

Dans cet exemple, le champ personnalisé « supportNumber » de type « Phone » est défini sur « +18008675309 ». Valeurs acceptables pour « Phone » : toute chaîne de caractères conforme à la norme E.164 pour les numéros de téléphone, c'est-à-dire comprenant un signe « + » suivi de l'indicatif du pays et du numéro de l'abonné (par exemple, +18008675309).

Exemple 12 : champ personnalisé sécurisé

PS C:> Set-NinjaProperty -Name "superSecretPassword" -Value "Hunter42" -
Type "Secure"

Dans cet exemple, le champ personnalisé sécurisé « superSecretPassword » est défini sur « Hunter42 ». Valeurs acceptables pour les champs sécurisés : toute chaîne de caractères de moins de 200 caractères.

Exemple 13 : champ personnalisé de type texte

PS C:> Set-NinjaProperty -Name "exampleTextField" -Value "My Text Value" -
Type "Text"

Dans cet exemple, le champ personnalisé de type texte « exampleTextField » est défini sur « My Text Value ». Valeurs acceptées pour le type « Text » : toute chaîne de caractères de moins de 200 caractères.

Exemple 14 : champ personnalisé de type « Heure »

$UpdateTime = Get-Date -Hour "09" -Minute "0" -Second "0"
PS C:> Set-NinjaProperty -Name "updateTime" -Value $UpdateTime -Type "Time"

Dans cet exemple, le champ personnalisé de type heure « updateTime » est défini sur 9 h 00. Valeurs d'heure acceptées : un objet DateTime représentant une heure, ou une chaîne de caractères pouvant être convertie en objet DateTime.

Exemple 15 : champ personnalisé « URL »

PS C:> Set-NinjaProperty -Name "exampleUrl" -Value
"https://www.ninjaone.com" -Type "URL"

Dans cet exemple, le champ personnalisé « exampleUrl » de type URL est défini sur « https://www.ninjaone.com ». Valeurs d'URL acceptées : toute chaîne de caractères de moins de 200 caractères commençant par https://.

Exemple 16 : champ personnalisé WYSIWYG

PS C:> Set-NinjaProperty -Name "exampleWYSIWYG" -Value "<h1
style='color:#f015ca'>Hello World</h1>" -Type "WYSIWYG"

Dans cet exemple, le champ personnalisé WYSIWYG « exampleWYSIWYG » est défini sur « <h1 style='color:#f015ca'>Hello World</h1> ». Les champs personnalisés WYSIWYG dans l’interface de ligne de commande (CLI) acceptent le HTML comme valeur, ce qui permet un formatage de texte enrichi dans le champ personnalisé. Il est recommandé d’utiliser des guillemets simples dans votre code HTML afin d’éviter d’avoir à échapper les guillemets doubles dans votre chaîne HTML lors de la définition de la valeur d’un champ personnalisé WYSIWYG. Valeurs WYSIWYG acceptées : toute chaîne comportant moins de 199 999 caractères. Pour un résultat optimal, la chaîne doit contenir du code HTML valide ; il est recommandé d’utiliser des guillemets simples dans le code HTML afin d’éviter d’avoir à échapper les guillemets doubles dans la chaîne HTML.

Paramètres

-Nom

Spécifiez le nom du champ personnalisé de l’appareil ou de la documentation dont vous souhaitez définir la valeur.

Type : Chaîne de caractères
Ensembles de paramètres : (Tous)
Alias :
Obligatoire : Vrai
Position : 1
Valeur par défaut : Aucune
Accepter l’entrée du pipeline : Faux
Accepter les caractères génériques : Faux
-Valeur
-Valeur

Spécifiez la valeur à définir pour le champ personnalisé indiqué.

Type : Objet
Ensembles de paramètres : (Tous)
Alias :
Obligatoire : Faux
Position : 2
Valeur par défaut : Aucune
Accepte les entrées du pipeline : Vrai (ByValue)
Accepte les caractères génériques : Faux
-Type

Type du champ personnalisé, qui détermine la manière dont la valeur fournie est traitée et convertie. Les types pris en charge sont les suivants : « Checkbox », « Date », « DateTime », « Decimal », « Dropdown », « Email », « Integer », « IP Address », « MultiLine », « MultiSelect », « Phone », « Secure », « Text », « Time », « URL » et « WYSIWYG ».

Type : Chaîne de caractères
Jeux de paramètres : (Tous)
Alias :
Obligatoire : Faux
Position : 3
Valeur par défaut : Aucune
Accepter les entrées du pipeline : Faux
Accepter les caractères génériques : Faux
-DocumentName

Spécifiez le nom du document à partir duquel définir la valeur du champ personnalisé de documentation spécifié.

Type : Chaîne de caractères
Jeux de paramètres : (Tous)
Alias :
Obligatoire : Faux
Position : 4
Valeur par défaut : Aucune
Accepte les entrées du pipeline : Faux
Accepte les caractères génériques : Faux
-Force

Si le paramètre « confirm » n’est pas spécifié et que la cmdlet demande une confirmation, ce paramètre force la cmdlet à s’exécuter sans demander de confirmation.

Type : SwitchParameter
Ensembles de paramètres : (Tous)
Alias :
Obligatoire : Faux
Position : Nommée
Valeur par défaut : Faux
Accepte les entrées de pipeline : Faux
Accepte les caractères génériques : Faux
-WhatIf

Affiche ce qui se passerait si la cmdlet s'exécutait. La cmdlet n'est pas exécutée.

Type : SwitchParameter
Ensembles de paramètres : (Tous)
Alias : wi
Obligatoire : Faux
Position : Nommé
Valeur par défaut : Aucune
Accepte les entrées de pipeline : Faux
Accepte les caractères génériques : Faux
-Confirm

Vous invite à confirmer avant d'exécuter la cmdlet.

Type : SwitchParameter
Ensembles de paramètres : (Tous)
Alias : cf
Obligatoire : Faux
Position : Nommé
Valeur par défaut : Aucune
Accepte les entrées de pipeline : Faux
Accepte les caractères génériques : Faux

Paramètres communs

Cette cmdlet prend en charge les paramètres communs suivants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction et -WarningVariable. Pour plus d'informations sur les paramètres communs, consultez le document Microsoft about_CommonParameters ( lien externe).

Entrées

Sorties

  • Si vous ne spécifiez pas de type, la cmdlet tentera de définir la valeur de la chaîne telle quelle. Consultez les exemples Ninja-Property-Set pour savoir comment les valeurs sont traitées lorsqu’aucun type n’est spécifié. 
  • Les valeurs des listes déroulantes et des sélections multiples sont validées par rapport à des options prédéfinies avant d’être définies.
  • Si un type non valide est fourni, un avertissement s’affiche.
  • Les espaces insécables sont automatiquement remplacés par leur équivalent HTML &nbsp; pour les types « WYSIWYG ».
  • Seuls les champs disposant d’autorisations d’écriture automatisées permettent de récupérer leurs options à l’aide de cette cmdlet. Pour plus d’informations sur les autorisations relatives aux champs personnalisés, consultez la section « NinjaOne Custom Fields : Getting Started ».
  • Le champ personnalisé spécifié est mis à jour après la prochaine synchronisation réussie avec la plateforme NinjaOne, qui a généralement lieu en quelques minutes.

Ressources supplémentaires

Pour plus d’informations sur la gestion des actifs et les scripts personnalisés, consultez les ressources suivantes :

FAQ

Pour aller plus loin