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

PowerShell : Ninja-Property-Set

Sujet

Cet article explique comment utiliser Ninja-Property-Set pour définir la valeur d'un champ personnalisé d'un périphérique donné.

Ninja-Property-Set est une cmdlet obsolète. Bien qu'elle puisse encore fonctionner, nous vous recommandons d'utiliser Set-NinjaProperty à la place.
Si vous utilisez le module PowerShell NinjaOne en dehors d’un script d’automatisation, vous devrez peut-être ajuster la stratégie d’exécution de PowerShell. Pour plus d’informations sur les stratégies d’exécution, consultez la documentation de Microsoft : À propos des stratégies d’exécution ( lien externe).

Environnement

  • NinjaOne
  • Microsoft PowerShell

Description

Cette cmdlet définit la valeur d’un champ personnalisé spécifié sur un appareil. Vous pouvez spécifier le nom du champ à l’aide du paramètre -Name et la valeur à définir à l’aide du paramètre -Value. La cmdlet met à jour la valeur du champ personnalisé spécifié sur l’appareil.

Seuls les champs disposant d’autorisations d’écriture automatisées 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.

Syntaxe

Ninja-Property-Set [[-Name] <Object>] [[-Value] <Object>] [<CommonParameters>]

Exemples

Exemple 1 : champ personnalisé de type case à cocher

PS C:> Ninja-Property-Set -Name "deployed" -Value $True

Dans cet exemple, la case à cocher du champ personnalisé « deployed » est cochée en définissant sa valeur sur $True. Vous pouvez également cocher la case en utilisant 1 à la place de $True, car ces deux valeurs sont acceptées pour les champs personnalisés de type case à cocher. Valeurs acceptées pour les cases à cocher : 0, 1, true, false.

Exemple 2 : champ personnalisé de type date

$DeploymentDate = Get-Date -Year "2026" -Month "02" -Day "01" -Hour "0" -
Minute « 0 » -Second « 0 »
$StartOfEpoch = Get-Date -Year « 1970 » -Month « 01 » -Day « 01 » -Hour « 0 » -
Minute « 0 » -Second « 0 »
$DeploymentInUTC = $DeploymentDate.ToUniversalTime()
$TimeSpan = New-TimeSpan -Start $StartOfEpoch -End $DeploymentInUTC
$DeploymentInEpochTime = [math]::Round($TimeSpan.TotalSeconds)
PS C:> Ninja-Property-Set -Name "deploymentDate" -Value
$DeploymentInEpochTime

Dans cet exemple, le champ personnalisé « deploymentDate » est défini sur le 1er février 2026. La date est convertie en temps d’époque (nombre de secondes écoulées depuis le 1er janvier 1970 UTC) avant d’être définie comme valeur du champ personnalisé, car les champs personnalisés de type date dans l’interface CLI acceptent les valeurs de temps d’époque. Formats de date acceptés : temps d'époque Unix (secondes écoulées depuis le 1er janvier 1970 UTC), format ISO « aaaa-MM-jj » UTC

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

$LastSeen = Get-Date -Year "2026" -Month "02" -Day "02" -Hour "13" -Minute
"0" -Second "0"
$StartOfEpoch = Get-Date -Year "1970" -Month "01" -Day "01" -Hour "0" -
Minute "0" -Second "0"
$LastSeenInUTC = $LastSeen.ToUniversalTime()
$TimeSpan = New-TimeSpan -Start $StartOfEpoch -End $LastSeenInUTC
$LastSeenInEpochTime = [math]::Round($TimeSpan.TotalSeconds)
PS C:> Ninja-Property-Set -Name "lastSeen" -Value $LastSeenInEpochTime

Dans cet exemple, le champ personnalisé « lastSeen » (date et heure de la dernière apparition) est défini sur le 2 février 2026 à 13 h 00. La valeur de date et d’heure est convertie en temps d’époque (nombre de secondes écoulées depuis le 1er janvier 1970 UTC) avant d’être définie comme valeur du champ personnalisé, car les champs personnalisés de date et d’heure dans l’interface CLI acceptent les valeurs de temps d’époque. Formats de date et d’heure acceptés : temps d’époque Unix (secondes écoulées depuis le 1er janvier 1970 UTC), format ISO « aaaa-MM-jjTHH:mm:ss » UTC

Exemple 4 : champ personnalisé décimal

PS C:> Ninja-Property-Set -Name "pi" -Value "3.14"

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:> Ninja-Property-Set -Name "favoriteBand" -Value "2a100199-4067-4332-
8f4d-451e14b94a76"

Dans cet exemple, le champ personnalisé à liste déroulante « favoriteBand » est défini sur l’option dont le GUID est 2a100199-4067-4332-8f4d-451e14b94a76. Les champs personnalisés à liste déroulante dans l’interface de ligne de commande (CLI) acceptent le GUID de l’option que vous souhaitez définir, lequel peut être obtenu à l’aide de la cmdlet Ninja-Property-Options. Valeurs acceptées pour les menus déroulants : le GUID de l’option à définir, que vous pouvez trouver à l’aide de la cmdlet Ninja-Property-Options.

Exemple 6 : champ personnalisé « e-mail »

PS C:> Ninja-Property-Set -Name "supportEmail" -Value
"[email protected]"

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

Exemple 7 : champ personnalisé de type entier

PS C:> Ninja-Property-Set -Name "favoriteNumber" -Value "42"

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:> Ninja-Property-Set -Name "primaryDNS" -Value "1.1.1.1"

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 adresse IPv4 ou IPv6 valide.

Exemple 9 : champ personnalisé multiligne

PS C:> Ninja-Property-Set -Name "exampleMultiline" -Value "Ligne 1`n`nLigne
3"

Dans cet exemple, le champ personnalisé multiligne « exampleMultiline » est défini sur une chaîne de caractères comportant plusieurs lignes de texte.

Exemple 10 : champ personnalisé à sélection multiple

PS C:> Ninja-Property-Set -Name "exampleMultiselect" -Value "154d90cf-3d4a-
4e43-8b79-232ccd5b74a6, 834d0865-1c70-492b-ac11-73854fd0294d"

Dans cet exemple, le champ personnalisé à sélection multiple « exampleMultiselect » est défini sur les options dont les GUID sont 154d90cf-3d4a-4e43-8b79-232ccd5b74a6 et 834d0865-1c70-492b-ac11-73854fd0294d. Les champs personnalisés à sélection multiple dans l’interface CLI acceptent une liste de GUID séparés par des virgules représentant les options que vous souhaitez définir ; celles-ci peuvent être obtenues à l’aide de la cmdlet Ninja-Property-Options. Valeurs acceptées pour la sélection multiple : une liste de GUID séparés par des virgules représentant les options à définir, qui peuvent être obtenues à l’aide de la cmdlet Ninja-Property-Options.

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

PS C:> Ninja-Property-Set -Name "supportNumber" -Value "+18008675309"

Dans cet exemple, le champ personnalisé « supportNumber » (numéro d’assistance) est défini sur « +18008675309 ». Valeurs acceptables pour le champ « Télé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 d’abonné (par exemple, +18008675309).

Exemple 12 : champ personnalisé sécurisé

PS C:> Ninja-Property-Set -Name "superSecretPassword" -Value "Hunter42"

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

Exemple 13 : champ personnalisé de type texte

PS C:> Ninja-Property-Set -Name "exampleTextField" -Value "My Text Value"

Dans cet exemple, le champ personnalisé de type texte « exampleTextField » est défini sur « My Text Value ». Valeurs de texte acceptées : 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"
$LocalTimeZone = [System.TimeZoneInfo] : :Local
$UpdateTimeInUTC = [System.TimeZoneInfo] : :ConvertTimeToUtc($UpdateTime,
$LocalTimeZone)
$TimeInSecondsSinceMidnight =
[math]: :Round(($UpdateTimeInUTC.TimeOfDay).TotalSeconds)
PS C:> Ninja-Property-Set -Name "updateTime" -Value
$TimeInSecondsSinceMidnight

Dans cet exemple, le champ personnalisé « updateTime » est défini sur 9 h 00. La valeur temporelle est convertie en nombre de secondes écoulées depuis minuit en UTC avant d’être définie comme valeur du champ personnalisé, car les champs personnalisés de type « heure » dans l’interface CLI n’acceptent que les valeurs dans ce format. Valeurs temporelles acceptées : le nombre de secondes écoulées depuis minuit en UTC, ou une chaîne de caractères au format « HH:mm:ss » en UTC.

Exemple 15 : champ personnalisé URL

PS C:> Ninja-Property-Set -Name "exampleUrl" -Value "https://www.ninjaone.com"

Dans cet exemple, le champ personnalisé « exampleUrl » 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:> Ninja-Property-Set -Name "exampleWYSIWYG" -Value "<h1
style='color:#f015ca'>Hello World</h1>"

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 code HTML comme valeur, ce qui permet un formatage de texte enrichi dans le champ personnalisé. Pour profiter pleinement des fonctionnalités des champs personnalisés WYSIWYG, il est recommandé d’utiliser Set NinjaProperty ou Ninja-Property-Set-Piped, car ces commandes prennent en charge des limites de caractères plus élevées pour les valeurs des champs personnalisés par rapport à Ninja-Property-Set.

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 d’une valeur de champ personnalisé WYSIWYG à l’aide de Ninja-Property-Set. 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é pour lequel vous souhaitez définir une valeur.

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

Spécifiez la valeur à attribuer au champ personnalisé indiqué.

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

Entrées

System.String

La cmdlet n'accepte pas d'entrée provenant du pipeline. Les paramètres -Name et -Value acceptent respectivement des valeurs de type chaîne représentant le nom du champ personnalisé à définir et la valeur à attribuer à ce champ.

Sorties

Aucune

  • 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