Utilisations avancées des champs personnalisés dans NinjaOne (1ère partie)

An image of a man interacting with a window for the blog NinjaOne Custom Fields

Bannière blog Champs Personnalisés

NinjaOne a lancé sa fonctionnalité de champs personnalisés en 2021, ajoutant un nouveau niveau de flexibilité, de personnalisation et de pouvoir d’automatisation à notre plateforme. Les champs personnalisés sont une fonction avancée qui nécessite une configuration avant d’être utilisée, mais une fois que vous avez commencé, la puissance et la flexibilité de cette fonction sont presque illimitées.

Dans la 1ère partie de ce guide, nous vous guiderons à travers deux cas d’utilisation très utiles des champs personnalisés dans NinjaOne, notamment :

Un rapide aperçu des Champs Personnalisés dans NinjaOne

Rôles des champs personnalisés

Les champs personnalisés de NinjaOne se divisent en deux catégories : les champs personnalisés globaux, qui s’appliquent à tous les appareils, quel que soit leur type, et les champs personnalisés basés sur les rôles, qui s’appliquent uniquement à des types d’appareils spécifiques.

Un champ personnalisé global peut utiliser une forme de numéro d’identification d’actif universel que vous appliquez à tous les appareils. Par exemple, vous pouvez utiliser des champs personnalisés basés sur les rôles pour attribuer un propriétaire aux stations de travail et aux ordinateurs portables, mais pas aux serveurs.

Types de champs personnalisés

NinjaOne propose plus de vingt types de champs personnalisés, du texte aux nombres entiers en passant par les listes déroulantes et les champs de cartographie des appareils. Nous fournissons également des éléments d’interface utilisateur pour rendre les champs personnalisés plus conviviaux.

Accès

Chaque champ personnalisé peut être personnalisé pour l’accès des techniciens et des scripts, ce qui vous permet de contrôler qui a accès à quelles données.

Cas d’utilisation N°1 : Surveillez presque tout

Dès que vous installez l’agent NinjaOne, nous fournissons des centaines de points de données sur chaque terminal surveillé, des spécifications matérielles aux logiciels installés en passant par l’utilisation du processeur. Malgré tout, les points de données spécifiques et les besoins de surveillance de chaque entreprise sont uniques.

Les champs personnalisés de NinjaOne vous permettent de collecter, de stocker et de surveiller presque tous les points de données à partir d’un point d’accès, ce qui vous permet de disposer des informations dont vous avez besoin pour prendre des décisions. Voici quelques exemples que nous avons vus chez nos partenaires :

  • Identifier et stocker le plan d’alimentation actuel
  • Documenter les comptes d’administrateur local existants
  • Obtenir une liste des tâches programmées sur un appareil
  • Surveiller la température du CPU
  • Surveiller l’état de la batterie
Comment s’y prendre

Prenons un exemple de mise en place d’un champ personnalisé et d’un script pour surveiller l’état de la batterie.

Pour créer une surveillance personnalisée à l’aide de champs personnalisés, vous aurez besoin de :

  1. Un champ personnalisé
  2. Un script pour collecter et stocker les données
  3. Une condition personnalisée pour créer une alerte
Configurer le champ personnalisé

Le champ personnalisé sera utilisé pour stocker les données renvoyées par un script.

1)   Ajoutez un nouveau champ personnalisé. Comme nous allons surveiller l’état de la batterie des ordinateurs portables, nous allons créer un champ personnalisé de rôle.

2) L’étape suivante consiste à configurer le champ personnalisé. Comme nous voulons que ce champ soit écrit par l’intermédiaire d’un script, nous allons définir l’accès du technicien sur « Lecture seule » et l’accès du script sur « Lecture/Écriture ».

Remarque : si l’accès du script n’est pas défini sur « Écriture seulement » ou « Lecture/écriture », vous ne pourrez pas écrire dans ce champ à partir d’un script.

3) Nous devons maintenant attribuer le champ personnalisé de rôle à un rôle de dispositif. Ensuite, naviguez vers « Rôles » et sélectionnez le(s) type(s) de rôle auquel que vous souhaitez voir appliquer ce champ. Dans ce cas, nous allons attribuer ce champ personnalisé de rôle au rôle Windows Laptop.

Configuration du moniteur de surveillance

Les conditions dans NinjaOne sont utilisées pour surveiller les changements d’état d’un terminal. NinjaOne offre la possibilité de surveiller les champs personnalisés. Nous allons installer un moniteur pour vérifier les états d’alerte ou de dégradation de la batterie.

  1. Dans la stratégie que vous avez choisie, allez dans la rubrique « Conditions » et cliquez sur « Ajouter une condition »
  2. Sélectionnez le type de condition « Champs personnalisés »
  3. Sous « La valeur du champ personnalisé doit remplir n’importe quelle condition », sélectionnez « Ajouter » et recherchez « État de la batterie »
  4. Définissez l’option sur « Contient » et ajoutez « Dégradé »
  5. Répétez les étapes 3 et 4, mais changez « Dégradé » en « Avertissement »
  6. Définissez les paramètres de sévérité, de priorité, de canal de notification et de gestion des tickets selon vos préférences, puis cliquez sur « Ajouter ».

Condition 1 - Quatre utilisations avancées des champs personnalisés dans NinjaOne

Si la condition est déclenchée, cela ressemblera à quelque chose comme ceci :

Créer un script pour extraire des données

Nous devons écrire un script qui extrait les données sur l’appareil et les stocke dans notre champ personnalisé. Nous allons modifier le script qui se trouve ici (vous devez être connecté à Ninja pour le voir).

$Battery = Get-CimInstance -ClassName win32_battery

Switch ($Battery.Availability) {
   1  { $Availability = "Other" ;break}
   2  { $Availability =  "Not using battery" ;break}
   3  { $Availability = "Running or Full Power";break}
   4  {$Availability =  "Warning" ;break}
   5  { $Availability = "In Test";break}
   6  { $Availability = "Not Applicable";break}
   7  { $Availability = "Power Off";break}
   8 { $Availability = "Off Line";break}
   9 { $Availability = "Off Duty";break}
   10  {$Availability =  "Degraded";break}
   11  {$Availability =  "Not Installed";break}
   12  {$Availability =  "Install Error";break}
   13  { $Availability = "Power Save - Unknown";break}
   14  { $Availability = "Power Save - Low Power Mode" ;break}
   15  { $Availability = "Power Save - Standby";break}
   16  { $Availability = "Power Cycle";break}
   17  { $Availability = "Power Save - Warning";break}
  }
    
$BatteryOutString = "Status : $($Battery.Status)", 
                    "Nom de la batterie : $($Battery.name)", 
                    "Charge restante : $($Battery.EstimatedChargeRemaining)", 
                    "Durée de fonctionnement estimée : $($Battery.EstimatedRunTime)", 
                    "Disponibilité : $Availability" 
                    | Format-Table | Out-String 

Ninja-Property-Set batteryState $BatteryOutString

Ce script extrait des informations sur la batterie, les met en forme, puis les écrit dans le champ personnalisé “batteryStatus”.

La seule partie spécifique à Ninja de ce script Powershell est la dernière ligne :

Ninja-Property-Set batteryState $BatteryOutString

Ninja-Property-Set est la commande Powershell de NinjaOne pour définir un champ personnalisé à une valeur spécifique. La syntaxe est la suivante :

Ninja-Property-Set fieldName Value

Dans ce cas, nous donnons au champ batteryState la valeur stockée dans la variable $BatteryOutString.

L’ajout de ce script à NinjaOne est facile.

  1. Naviguez vers Configuration > Écriture de script.
  2. cliquez sur « Ajouter un nouveau script »
  3. Copiez le code ci-dessus dans l’environnement de développement intégré (EDI)
    • Si votre champ personnalisé n’est pas nommé “batteryState”, mettez à jour le nom du champ à côté de Ninja-Property-Set
  4. Définissez les paramètres du script comme suit
    • Nom : Définir l’état de la batterie
    • Langue : PowerShell
    • Système d’exploitation : Windows
    • Architecture : Toutes
  5. Enregistrez le script
Faisons le point

Maintenant que vous avez votre champ personnalisé, votre condition et votre script, nous devons rassembler le tout afin d’automatiser cette surveillance.

Ouvrez la stratégie à laquelle vous avez ajouté votre condition plus tôt dans ce guide et accédez à « Scripts Planifiés ».

Cliquez sur « Ajouter un script planifié »

Cliquez sur « Ajouter un script »

Sélectionnez le script “Définir l’état de la batterie” que nous avons créé ci-dessus.

Vous pouvez exécuter ce script aussi souvent que vous le jugez nécessaire. Pour une exécution horaire, sélectionnez « Chaque » dans la liste déroulante « Calendrier » et définissez « Se produit chaque » sur 1 heure. Puis cliquez sur « Ajouter ».

Le script de définition de l’état de la batterie va maintenant extraire les données de tous les terminaux gérés par cette stratégie toutes les heures et les écrire dans le champ personnalisé. Si la valeur de retour de l’un de ces terminaux contient « avertissement » ou « degradé », nous recevrons une alerte afin de pouvoir y remédier.

Ce même processus peut être utilisé pour surveiller presque tous les points de données qui peuvent être extraits d’un terminal.

Cas d’utilisation N°2 : Automatisation avancée des scripts

NinjaOne vous offre plusieurs moyens d’automatiser les tâches sur tous vos terminaux gérés, des plus simples aux plus complexes.

Les quatre méthodes principales pour lancer des automatisations dans NinjaOne sont les suivantes :

  1. Scripts planifiés : Automatisations qui s’exécutent à intervalles réguliers sur tous les terminaux d’une stratégie
  2. Conditions de déclenchement : Automations qui sont déclenchées par des événements, des changements d’état ou un comportement de performance sur un terminal
  3. Tâches planifiées : Automatisations qui s’exécutent à intervalles réguliers sur tous les terminaux sélectionnés
  4. Scripts ponctuels : Automatisations qui sont exécutées manuellement sur un ou plusieurs terminaux

Toutes ces méthodes vous permettent de déployer un ensemble de scripts en fonction d’un seul déclencheur temporel ou événementiel. L’une sans l’autre, ces méthodes d’automatisation peuvent être très puissantes et apporter beaucoup de valeur, mais elles ne sont pas très dynamiques.

Pour des automatismes plus dynamiques, nous devons ajouter deux concepts :

  • Conditions de résultat du script
  • Champs Personnalisés

Ces deux fonctions de NinjaOne permettent de relier dynamiquement les automatisations en fonction des résultats du déploiement initial du script. La différence essentielle est que les conditions de résultat de script ne stockent pas de valeurs pour une analyse ultérieure et ne peuvent répondre qu’à un seul résultat de script.

Compter et alerter sur la fréquence des échecs de connexion

La condition intégrée Windows Event ID de NinjaOne vous permet de déclencher une alerte, de créer un ticket ou de déclencher l’exécution d’un script dès qu’un event ID spécifique est détecté. Cette fonction est extrêmement utile pour détecter des événements tels que la création d’un compte d’administrateur, les modifications apportées au pare-feu Windows ou l’identification d’un événement tel que l’échec de la sauvegarde d’un serveur Windows, où les événements singuliers sont exploitables.

Lorsque nous avons besoin d’un grand nombre d’événements pour qu’un avertissement soit exploitable, nous avons besoin de champs personnalisés. Par exemple, un seul échec de connexion a peu de chances d’être exploitable. En revanche, dix tentatives de connexion infructueuses au cours de la dernière heure peuvent indiquer que quelque chose ne va pas. Créons donc une automatisation qui compte les échecs de connexion depuis une heure et émet une alerte si le seuil de 10 échecs de connexion est dépassé.

Configurer le champ personnalisé

Nous allons commencer par créer un champ personnalisé pour stocker nos tentatives de connexion échouées. Pour cet exercice, nous créons un champ personnalisé global car nous allons détecter les échecs de connexion sur tous les types d’appareils.

  • Étiquette de champ : Tentatives de connexion échouées
  • Nom du champ : failedLoginAttempts
  • Type de champ : Nombre entier
  • Scripts : Lecture / Écriture

Créer un champ 1 - Quatre utilisations avancées des champs personnalisés dans NinjaOne

Nous allons configurer un deuxième champ personnalisé pour obtenir l’ID de sécurité de la tentative de connexion la plus récente.

  • Étiquette de champ : Nom d’utilisateur des tentatives de connexion échouées
  • Nom du champ : failedAccountLoginUserName
  • Type de champ : Texte
  • Scripts : Lecture / Écriture
Écrire le script de surveillance

Ensuite, nous allons écrire un script pour détecter les échecs de connexion. C’est assez simple à faire, nous allons simplement interroger le journal des événements et compter le nombre de tentatives de connexion qui ont échoué. Nous écrirons ensuite la valeur renvoyée dans le champ failedLoginAttempts. Nous allons également renvoyer le nom de l’utilisateur dans le champ failedAccountLoginUserName.

$failedLogins = ((Get-EventLog -LogName Security -After (Get-Date).AddDays(-7) -InstanceID 4625) | Select @{Name="UserName";Expression={$_.ReplacementStrings[5]}} | Group-Object -Propert UserName).count

$Login = ((Get-EventLog -LogName Security -After (Get-Date).AddDays(-7) -InstanceID 4625) | Select @{Name="UserName";Expression={$_.ReplacementStrings[5]}} | Group-Object -Propert UserName).name

Ninja-Property-Set failedLoginAttempts $failedLogins
Ninja-Property-Set failedAccountLoginUserName $Login

L’ajout de ce script à NinjaOne est simple et facile.

  1. Naviguez vers Configuration > Écriture de script.
  2. cliquez sur « Ajouter un nouveau script »
  3. Copiez le code ci-dessus dans l’environnement de développement intégré (EDI)
    • Si votre champ personnalisé n’est pas nommé “failedLoginAttempts”, mettez à jour le nom du champ à côté de Ninja-Property-Set
  4. Définissez les paramètres du script comme suit
    • Nom : Compter les tentatives de connexion échouées
    • Langue : PowerShell
    • Système d’exploitation : Windows
    • Architecture : Toutes
  5. Enregistrez le script

Ensuite, nous devons configurer ce script pour qu’il soit exécuté périodiquement.

  1. Dans la stratégie de votre choix, naviguez vers « Scripts planifiés » et cliquez sur «  Ajouter un script planifié »
  2. Cliquez sur « Ajouter un script » et sélectionnez le script « Compter les tentatives de connexion échouées »
  3. Donnez un nom et une description au script
  4. Régler le programme pour qu’il soit exécuté toutes les heures
Rédiger le script de remédiation

Si nous pouvons détecter un volume élevé de tentatives de connexion échouées, nous pouvons vouloir remédier à ce problème en verrouillant temporairement ce compte.  Nous allons extraire le nom d’utilisateur du champ failedAccountLoginUserName et désactiver cet utilisateur avec Powershell.

$User = Ninja-Property-Get failedAccountLoginUserName

Disable-LocalUser -Name $User
Définir la condition
  1. Dans la stratégie que vous avez choisie, allez dans la rubrique « Conditions » et cliquez sur « Ajouter une condition »
  2. Sélectionnez le type de condition « Champs personnalisés »
  3. Sous « La valeur du champ personnalisé doit remplir n’importe quelle condition », sélectionnez « Ajouter » et recherchez « Tentatives de connexion échouées ». Pour un opérateur, utilisez « supérieur ou égal à » et fixez la valeur sur « 10 ».
  4. Cliquez sur « Appliquer »Condition2 - Quatre utilisations avancées des champs personnalisés dans NinjaOne
  5. Nous donnerons à la condition le nom de « Nombre élevé d’échecs de tentatives de connexion »
  6. Définissez la sévérité, la priorité et les intervalles de réinitialisation
  7. Indiquez si vous souhaitez que des notifications et des tickets soient créés
  8. Cliquez sur « Ajouter »
  9. Si nous voulons automatiser la désactivation de l’utilisateur du compte local, nous pouvons ajouter le script « Désactiver l’utilisateur local » en tant qu’automatisation à cette condition

Condition3 - Quatre utilisations avancées des champs personnalisés dans NinjaOneContinuez votre lecture avec la 2ème et 3ème partie sont disponibles ci-dessous :

Pourquoi NinjaOne ?

Fatigué de passer en revue les RMM et d’être déçu ? Essayez par vous-même les champs personnalisés de Ninja et voyez pourquoi NinjaOne est différent. Commencez votre essai gratuit.essai gratuit de rmm

Pour aller plus loin

Pour créer une équipe informatique efficace et performante, il est essentiel d'avoir une solution centralisée qui joue le rôle de nœud principal pour vos services. NinjaOne permet aux équipes informatiques de surveiller, gérer, sécuriser et prendre en charge tous les appareils, où qu'ils soient, sans avoir besoin d'une infrastructure complexe sur site. Pour en savoir plus sur NinjaOne Endpoint Management, participez à une visite guidée, ou profitez d'un essai gratuit de la plateforme NinjaOne.

Vous pourriez aussi aimer

Prêt à simplifier les aspects les plus complexes de l'informatique et de la sécurité ?
×

Voir NinjaOne en action !

En soumettant ce formulaire, j'accepte la politique de confidentialité de NinjaOne.

Termes et conditions NinjaOne

En cliquant sur le bouton “J’accepte” ci-dessous, vous indiquez que vous acceptez les termes juridiques suivants ainsi que nos conditions d’utilisation:

  • Droits de propriété: NinjaOne possède et continuera de posséder tous les droits, titres et intérêts relatifs au script (y compris les droits d’auteur). NinjaOne vous accorde une licence limitée pour l’utilisation du script conformément à ces conditions légales.
  • Limitation de l’utilisation: Les scripts ne peuvent être utilisés qu’à des fins personnelles ou professionnelles internes légitimes et ne peuvent être partagés avec d’autres entités.
  • Interdiction de publication: Vous n’êtes en aucun cas autorisé à publier le script dans une bibliothèque de scripts appartenant à, ou sous le contrôle d’un autre fournisseur de logiciels.
  • Clause de non-responsabilité: Le texte est fourni “tel quel” et “tel que disponible”, sans garantie d’aucune sorte. NinjaOne ne promet ni ne garantit que le script sera exempt de défauts ou qu’il répondra à vos besoins ou attentes particulières.
  • Acceptation des risques: L’utilisation du script est sous votre propre responsabilité. Vous reconnaissez qu’il existe certains risques inhérents à l’utilisation du script, et vous comprenez et assumez chacun de ces risques.
  • Renonciation et exonération de responsabilité: Vous ne tiendrez pas NinjaOne pour responsable des conséquences négatives ou involontaires résultant de votre utilisation du script, et vous renoncez à tout droit ou recours légal ou équitable que vous pourriez avoir contre NinjaOne en rapport avec votre utilisation du script.
  • EULA: Si vous êtes un client de NinjaOne, votre utilisation du script est soumise au contrat de licence d’utilisateur final qui vous est applicable (End User License Agreement (EULA)).