Commandes CLI Discovery

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 13 minutes de lecture
  • Liste des commandes disponibles pour l’interface Détection de ligne de commande (CLI) dans l’application Concepteur de modèle Améliorations.

    Demander des applications dans l'App Store

    Visitez le site Web ServiceNow Store pour découvrir toutes les applications disponibles et pour obtenir des informations sur la procédure à suivre pour soumettre des demandes à la boutique. Pour obtenir des informations sur les notes de publication cumulatives pour toutes les applications publiées, consultez les ServiceNow Storenotes de publication relatives à l'historique des versions.

    Aperçus de la détection

    Récupère les détails de vos configurations et modèles de détection. Les détails comprennent des informations sur le modèle personnalisé, des détails d’instance et des détails de module d’extension.

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery discovery-insights
    Exemple
    Récupérez les détails de vos configurations et modèles de détection en exécutant la commande suivante :
    snc discovery discovery-insights
    La commande renvoie un JSON objet (format par défaut) contenant les informations de la table suivante.
    Tableau 1. Objets JSON retournés par la commande discovery-insights
    Objet Détails
    customisedPatterns
    • patternName : Nom du modèle personnalizé
    • source : emplacement où les changements personnalisés sont contenus (par exemple, Par défaut)
    Détails de l’instance
    • buildDate : date de la version de l’instance (format : MM-DD-YYYY_HHMM)
    • buildName : nom de la version de l’instance
    pluginDetails Modules d’extension associés à la configuration de Discovery ou nécessaires à l’exécution CLIde .
    Valeur de retour
    ✔ Discovery diagnostics successfully completed.
    {
       "customisedPattern": [
          {
             "patternName": "A10",
             "source": "Default"
          },
          {
             "patternName": ".NET Application",
             "source": "Default"
          }
       ],
       "instanceDetails": {
          "buildDate": "09-16-2023_2010",
          "buildName": "utah-p0"
       },
       "pluginDetails": {
          "CMDB CI Class Models": "1.48",
          "Discovery and Service Mapping Patterns": "1.8.0",
          "Pattern Designer Enhancements": "3.1.0",
          "Visibility Content": "6.13.0"
       }
    }

    obtenir des informations d’identification de détection

    Récupère la liste des informations d’identification de détection.

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery get-discovery-credentials [arguments]
    Argument:
    --testableonly : inclut uniquement les informations d’identification qui peuvent être testées. Valeurs possibles : vrai ou faux.
    Exemples
    Récupérez une liste des informations d’identification Discovery en exécutant la commande suivante :
    snc discovery get-discovery-credentials
    Répertoriez uniquement les informations d’identification Discovery testables en exécutant la commande avec l’argument suivant :
    snc discovery get-discovery-credentials --testableonly="true"
    Valeur de retour
    ✔ Get only testable credentials [ssh, snmpv3, snmp, ssh_private_key, windows, vmware, jdbc, jms]: true
    ✔ Discovery credentials details retrieved
    {
       "credentials": [
          {
             "active": true,
             "name": "shCred",
             "type": "ssh",
             "updated": "2023-10-16 10:57:27"
          },
          {
             "active": true,
             "name": "WindowsCred",
             "type": "windows",
             "updated": "2023-10-10 12:18:17"
          },
          {
             "active": true,
             "name": "Azure",
             "type": "azure",
             "updated": "2022-10-19 05:57:21"
          },
          {
             "active": true,
             "name": "public",
             "type": "snmp",
             "updated": "2023-09-28 07:40:35"
          },
          {
             "active": true,
             "name": "Windows MID Server Service Account",
             "type": "windows",
             "updated": "2023-10-16 10:57:23"
          },
          …
       ]
    }

    get-discovery-logs

    Récupère les journaux de détection avec des options flexibles, notamment :
    • Filtrage d’état
    • Inclusion d’appareil
    • Journaux de file d’attente ECC (External Communication Channel)
    • Journaux de modèles
    • Choix du format de sortie
    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery get-discovery-logs [arguments]
    Arguments
    Tableau 2. Arguments de la commande get-discovery-logs
    Argument Description
    --état-id Numéro d’état de détection selon lequel filtrer les journaux.
    --Dispositifs Inclut les journaux spécifiques à l’appareil. Valeurs possibles : vrai ou faux.
    --ecc-queue-logs Inclut les journaux de file d’attente ECC associés. Valeurs possibles : vrai ou faux.
    --pattern-logs Inclut les journaux d’exécution de modèle. Valeurs possibles : vrai ou faux.
    --niveau-modèle-journal Niveau de gravité maximal selon lequel filtrer les journaux de modèle. Les options disponibles sont les suivantes :
    • DEBUG : inclut uniquement les messages du journal DEBUG (par défaut)
    • ERREUR : inclut les messages d’erreur et de débogage
    • WARN : inclut les messages WARN, ERROR et DEBUG
    • INFO : Inclut tous les messages
    --log-limit Le nombre maximal d’enregistrements de journal à renvoyer est compris entre 1 et 100 (par défaut : 100). S’applique uniquement aux journaux de file d’attente et de modèle ECC.
    --format-sortie Format de sortie pour les journaux. Les formats pris en charge sont JSON (format par défaut) ou table.
    Exemples
    Récupérez les journaux de détection en exécutant la commande suivante :
    snc discovery get-discovery-logs [options]
    Personnalisez la récupération du journal en incluant les arguments un par un ou sous la forme d’une seule commande.
    • Pour exécuter la commande un argument à la fois :
      snc discovery get-discovery-logs
      Discovery status number: DIS0010013
      Include Devices: true
      Include ECC Queue logs: true
      Include pattern execution logs: true
      Pattern max log level (INFO, WARN, ERROR, DEBUG): DEBUG
      Maximum number of log records to return: 100
      Output format [supported: json(default), table]: json
    • Pour exécuter la commande en tant que commande unique :
      snc discovery get-discovery-logs --status-id="DIS0010013" --ecc-queue-logs="true" --devices="true" --pattern-logs="true" --output-format="json"
    Si le nombre maximal d’enregistrements de journal à renvoyer est élevé, envisagez d’utiliser un format de sortie de table.
    Valeur de retour
    ✔ Discovery Status details retrieved
    {
       "Devices": [
          {
             "CMDBCI": "",
             "ClassificationProbe": "Windows - Classify",
             "Completed": "4",
             "CompletedActivity": "Updated CI",
             "Created": "2023-10-17 09:25:33",
             "CurrentActivity": null,
             "Issues": "0",
             "ScanStatus": "Completed 4",
             "Started": "4",
             "Status": "DIS0010136"
          }
       ],
       "DiscoveryLogs": [
          {
             "CI": "",
             "Created": "2023-10-17 09:25:24",
             "Device": "",
             "ECCQueueInput": "",
             "Level": "0",
             "Message": "Discovery started",
             "Source": "Discovery",
             "Status": "DIS0010136"
          },
          {
             "CI": "",
             "Created": "2023-10-17 09:26:49",
             "Device": "192.168.1.100",
             "ECCQueueInput": "HorizontalDiscoveryProbe",
             "Level": "0",
             "Message": "Exploring CI Pattern, Pattern name: Windows OS - Servers",
             "Source": "DiscoverySensor",
             "Status": "DIS0010136"
          },
          {
             "CI": "",
             "Created": "2023-10-17 09:27:01",
             "Device": "192.168.1.100",
             "ECCQueueInput": "",
             "Level": "0",
             "Message": "Discovery completed",
             "Source": "Discovery",
             "Status": "DIS0010136"
          }
       ],
       "DiscoveryStatus": [
          {
             "Completed": "5",
             "Created": "2023-10-17 09:25:24",
             "Description": "Discover Now",
             "Discover": "CIs",
             "Duration": "1970-01-01 00:01:37",
             "Number": "DIS0010136",
             "Schedule": "WinServer",
             "Started": "5",
             "State": "Completed",
             "Updated": "2023-10-17 09:27:08"
          }
       ],
    …
    }

    get-midservers

    Récupère des informations détaillées sur Serveurs MID, y compris les détails d’état et de validation. Vous pouvez éventuellement inclure Serveurs MID des journaux de problèmes dans la sortie.

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery get-midservers [arguments]
    Argument

    --include-issues : inclut les journaux de problèmes avec chaque Serveur MIDfichier . Valeurs possibles : Vrai ou Faux (par défaut : vrai).

    Exemple
    Récupérez les détails concernant en Serveurs MID exécutant la commande suivante :
    snc discovery get-midservers
    Récupérez une liste et leurs journaux de Serveurs MID problèmes en exécutant la commande avec l’argument suivant :
    snc discovery get-midservers --include-issues=true
    Valeur de retour
    ✔ Mid-server details were fetched successfully.
    {
       "mid_servers": [
          {
             "home_directory": "C:\\Users\\admin\\Desktop\\midInstallationFolder\\agent",
             "host_name": "LocalLab",
             "host_os_version": "10.0.xxxx",
             "ip_address": "192.168.0.1",
             "issues": [],
             "last_refreshed": "2023-10-01 00:00:00",
             "name": "WindowsMidServer",
             "started": "2023-10-01 00:01:01",
             "status": "Up",
             "sys_id": "cb8d1625c3fdb110c72691477d01312e",
             "unresolved_issues": "0",
             "validated": "true",
             "validated_at": "2023-10-01 00:01:01"
          }
       ]
    }

    get-pattern-commands

    Récupère une liste exhaustive des commandes associées à un modèle de détection spécifié, identifié par son nom ou son sys_id.

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery get-pattern-commands [arguments]
    Argument

    --pattern : nom ou sys_id du modèle

    Exemples
    Récupérez une liste de commandes associées au modèle spécifié en exécutant la commande avec le nom du modèle ou le sys_id.
    • Exécutez la commande en saisissant le nom du modèle Système d’exploitation Windows : serveurs :
      snc discovery get-pattern-commands --pattern="Windows OS - Servers"
    • Exécutez la commande en saisissant le modèle sys_id 670e55a4db702200c06776231f961942 :
      snc discovery get-pattern-commands --pattern="670e55a4db702200c06776231f961942"
    Valeur de retour
    ✔ Commands fetched successfully. 
    [
       {
          "Command": "\"\\root\\CIMV2\" \"SELECT Caption,IPAddress,MACAddress,DHCPEnabled,Index,InterfaceIndex,IPEnabled FROM Win32_NetworkAdapterConfiguration\"",
          "Command Type": "wmi",
          "sys_id": "2e677c4ec3adb1106618b10ad0013185"
       },
       {
          "Command": "\"\\root\\CIMV2\" \"SELECT Index,InterfaceIndex,Name,Manufacturer,NetConnectionID FROM Win32_NetworkAdapter\"",
          "Command Type": "wmi",
          "sys_id": "6a677c4ec3adb1106618b10ad0013185"
       },
       {
          "Command": "powershell -command \\Get-NetRoute -AddressFamily IPv6\\",
          "Command Type": "shell",
          "sys_id": "a6677c4ec3adb1106618b10ad0013185"
       },
       {
          "Command": "\"\\root\\CIMV2\" \"SELECT Destination,Mask,NextHop, InterfaceIndex FROM Win32_IP4RouteTable\"",
          "Command Type": "wmi",
          "sys_id": "e2677c4ec3adb1106618b10ad0013185"
       },
       {
          "Command": "\"\\root\\CIMV2\" \"SELECT DefaultIPGateway FROM Win32_NetworkAdapterConfiguration\"",
          "Command Type": "wmi",
          "sys_id": "e6677c4ec3adb1106618b10ad00131ab"
       },
    …
    ]

    get-patterns (obtenir des modèles)

    Récupère une liste exhaustive des modèles de détection disponibles.

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery get-patterns
    Exemple
    Récupérez une liste des modèles de détection disponibles en exécutant la commande suivante :
    snc discovery get-patterns
    Valeur de retour
    ✔ Details of Discovery Patterns successfully retrieved.
    [
       {
          "active": true,
          "ci_type": "cmdb_ci_appl_dot_net",
          "name": ".NET Application",
          "pattern_type": "1 - Application"
       },
       {
          "active": true,
          "ci_type": "cmdb_ci_lb_service",
          "name": "A10",
          "pattern_type": "1 - Application"
       },
       {
          "active": true,
          "ci_type": "cmdb_ci_lb_a10",
          "name": "A10 Load Balancer",
          "pattern_type": "3 - Infrastructure"
       },
       {
          "active": true,
          "ci_type": "cmdb_ci_lb_a10",
          "name": "A10 Load Balancer SSH",
          "pattern_type": "3 - Infrastructure"
       },
       {
          "active": true,
          "ci_type": "cmdb_ci_appl_generic",
          "name": "A10 SSH Hosting Formatting",
          "pattern_type": "2 - Shared library"
       },
       …
    ]

    action de serveur MID

    Exécute diverses actions sur Serveurs MID, par exemple : arrêter, reprendre ou redémarrer.

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery midserver-action [arguments]
    Arguments
    Tableau 3. Arguments pour la commande midserver-action
    Argument Description
    -m ou --mid-server Nom ou sys_id du Serveur MID
    -a ou --action Action à effectuer sur le Serveur MIDfichier . Les options disponibles sont les suivantes :
    • Invalider
    • Reprendre
    • Arrêter
    • mise en pause
    • autoUpgrade
    • mise à niveau
    • restart
    • file_discovery_refresh
    • grab_logs
    • valider
    Exemple
    Effectuez une action sur un Serveur MID avec la commande suivante :
    snc discovery midserver-action [options]
    Redémarrez Serveur MID WinMidServer en exécutant la commande suivante :
    snc discovery midserver-action --mid-server="WinMidServer" --action="restart"
    Valeur de retour
    ✔ Successfully submitted mid-server action
    {
       "Action": "restart",
       "MidServer": "cb8d1625c3fdb110c72691477d01312e",
       "Output": "Mid server restart in-progress."
    }
    
    ✔ Mid server action executed successfully
    restart executed successfully.

    détection rapide

    Exécute une détection rapide sur un élément de configuration (CI) ou une adresse IP spécifié.

    Remarque :
    Lorsque les tentatives de rappel dépassent la limite maximale, vous pouvez recevoir le message d’erreur suivant :
    ✗ Discovery Failed.
    {
    "CurrentActivity": "",
    "DiscoveryStatus": {},
    "State": "Active"
    }
    Le message indique que les nouvelles tentatives de rappel ont été dépassées, mais bien que la détection ait échoué, elle est toujours en cours d’exécution en arrière-plan. Vérifiez les journaux de détection en exécutant la commande snc discovery get-discovery-logs ou en vérifiant l’instance ServiceNow® pour obtenir des mises à jour sur l’état de détection.
    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery quick-discovery [arguments]
    Arguments
    Tableau 4. Arguments pour la détection rapide de la commande
    Argument Description
    --Type Type d’hôte cible : IP ou CI.
    --Cible Détails de l’hôte cible.
    • Adresse IP : adresse IP
    • CI : Les options disponibles sont les suivantes :
      • Nom
      • Sys_id
      • Numéro de série
    --error-logs-only Inclut uniquement les journaux d’erreurs. Valeurs possibles : true ou false (par défaut : true).
    Exemples
    Exécutez une détection rapide sur une entité cible à l’aide d’un critère spécifié.
    snc discovery quick-discovery
    • Exécutez une détection rapide sur l’adresse IP 192.168.1.100 en exécutant la commande et l’argument suivants :
      snc discovery quick-discovery --type="ip" --target="192.168.1.100"
    • Exécutez une détection rapide sur le CI spécifié en exécutant la commande avec le nom, l’sys_id ou le numéro de série.
      • Pour exécuter une détection rapide sur le nom de CI ecommerce001, entrez :
        snc discovery quick-discovery --type="ci" --target="ecommerce001"
      • Pour exécuter une détection rapide sur le CI sys_id d0e8761137201000deeabfc8bcbe5da7, entrez :
        snc discovery quick-discovery --type="ci" --target="d0e8761137201000deeabfc8bcbe5da7"
      • Pour exécuter une détection rapide par rapport au numéro de série du CI L3BB911, entrez :
        snc discovery quick-discovery --type="ci" --target="L3BB911"
    Valeur de retour
    snc discovery quick-discovery --type="ip" --target="192.168.1.100"
    ✔ Discovery job submitted
    Status Number: DIS0010054
    ✔ Discovery is complete
    {
       "DiscoveryLogs": [],
       "DiscoveryStatus": [
          {
             "Completed": "5",
             "Created": "2023-10-17 10:59:52",
             "Description": "Discover CI",
             "Discover": "CIs",
             "Duration": "1970-01-01 00:01:41",
             "Number": DIS0010054,
             "Schedule": "",
             "Started": "5",
             "State": "Completed",
             "Updated": "2023-10-17 11:02:06"
          }
       ],
       "State": "Completed"
    }

    commande exécuter

    Exécute des commandes sur des appareils distants à l’aide des informations d’identification, des cibles et Serveurs MIDdes fichiers .

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery run-command [arguments]
    Arguments
    Tableau 5. Arguments pour la commande run-command
    Argument Description
    --Commande Commande à exécuter.
    --type-commande Type d’opération à effectuer.
    --Credential Informations d’identification utilisées pour exécuter la commande.
    --midserver Nom de l’appareil Serveur MID utilisé pour communiquer avec la cible.
    --os-server Classe CI qui représente le système d’exploitation du serveur (système d’exploitation du serveur) sur lequel exécuter les commandes. Par exemple, entrez cmdb_ci_linux_server pour le Linux serveur.
    --Cible Adresse IP de l’hôte sur lequel vous souhaitez exécuter la commande.
    Exemple
    Exécutez la commande suivante pour que la requête WMI (Windows Management Instrumentation) demande au système de récupérer les UUID propriétés et IdentifyingNumber de la classe Win32_ComputerSystemProduct dans l’espace de noms \root\CIMV2 :
    snc discovery run-command --command="\"\\root\\CIMV2\" \"SELECT UUID,IdentifyingNumber FROM Win32_ComputerSystemProduct\"" --command-type="wmi" --credential="WinCred" --midserver="WinMidServer" --os-server="cmdb_ci_win_server" --target="192.168.1.1"
    Valeur de retour
    ✔ The command is sent for execution.
    {
    "eccQueueOutputSysId": "9a3c55a3c33db910c72691477d0131cd"
    }
    
    ✔ Command Executed Successfully...
    {
    "result": {
    "IdentifyingNumber": "VMware-00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00",
    "Name": "VMware Virtual Platform",
    "Object Reference": null,
    "UUID": "61410042-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "Version": "None",
    "__CLASS": "Win32_ComputerSystemProduct",
    "internal_classname": "Win32_ComputerSystemProduct",
    "internal_namespace": "root/cimv2"
    }
    }

    test-détection-informations d’identification

    Valide les informations d’identification de détection par rapport à un système cible spécifié à l’aide d’un fichier .Serveur MID La commande vérifie uniquement la préparation des informations d’identification pour les tâches de détection de réseau. Elle ne modifie ni n’affecte la configuration des informations d’identification de détection ou du système cible.

    Important :

    Cette commande nécessite l’importation d’un fichier XML spécifique dans la liste Politique d’accès au module. Pour plus d’informations, consultez l’article sur l’interface de ligne de commande Discovery [KB1553142] dans .Now Support Base de connaissances

    Groupe de commandes
    Groupe parent : Discovery
    Rôles requis
    discovery_admin
    Si vous utilisez un service lié à Détection, vous devez disposer des rôles requis pour ce service.
    Structure de commande
    snc discovery test-discovery-credential [arguments]
    Arguments
    Tableau 6. Arguments pour test-discovery-credential
    Argument Description
    --Dbname Nom de la base de données sur laquelle tester ces informations d’identification.
    --dbtype Type de base de données sur laquelle tester ces informations d’identification. Les options disponibles sont les suivantes :
    • MSSQL : pour Microsoft SQL Server
    • MySQL
    • Oracle
    --Icf Nom de la classe JNDI (Java Naming and Directory Interface) utilisée pour créer l’InitialContext. Le nom de la classe JNDI doit inclure d’abord le nom du package, puis le nom de la classe. Par exemple, pour vous connecter à la classe JNDI ActiveMQ , vous devez saisir : org.apache.activemq.jndi.ActiveMQInitialContextFactory.
    --midserver Nom du Serveur MID à utiliser pour ce test. Pour tester Windows les informations d’identification, vous devez utiliser un Windows Serveur MIDfichier .
    --Nom Nom des informations d'identification.
    --Port Port sur la cible à utiliser pour ce test. Le système pré-remplit ce champ avec le port par défaut pour le type d’informations d’identification sélectionné.
    --Cible Hôte cible sur lequel ces informations d’identification sont exécutées. Cette valeur doit être une adresse IP pour tous les types d’informations d’identification, à l’exception de VMware, pour lequel la valeur peut être l’URL de l’hôte.
    Exemple
    Testez les informations d’identification de détection WinCred par rapport à Serveur MID WinMidServer en exécutant la commande suivante :
    snc discovery test-discovery-credential --name="WinCred" --target="192.168.1.1" --midserver="WinMidServer"
    La commande renvoie un message de réussite lorsque les conditions suivantes sont remplies :
    • Les informations d’identification sont valides
    • La connexion au système cible est réussie
    • L’élément spécifié Serveur MID est opérationnel
    Si ces conditions ne sont pas remplies, un message d’erreur détaillant les problèmes s’affiche.
    Valeur de retour
    ✔ Discovery credentials tested successfully
    Credential Test Id [ecc-sys-id]: "2b36e40ec3727990c72691477d0131c6"
    ✔ The credential test is complete
    {
       "output": "Test Succeeded"
    }

    Pour en savoir plus sur Détection CLI, consultez l’article sur l’interface de ligne de commande Discovery [KB1553142] dans la Now Support Base de connaissancessection .