Discovery CLI コマンド

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む26読むのに数分
  • 拡張機能アプリケーションのコマンドラインインターフェイス (CLI) パターンデザイナー で使用できるディスカバリーコマンドのリスト。

    ストアでアプリを要求する

    ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。

    discovery-insights

    検出の構成とパターンに関する詳細を取得します。詳細には、カスタムパターン情報、インスタンスの詳細、プラグインの詳細が含まれます。

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery discovery-insights
    次のコマンドを実行して、Discovery の構成とパターンの詳細を取得します。
    snc discovery discovery-insights
    このコマンドは、 JSON 次の表に示す情報を含む オブジェクト (既定の形式) を返します。
    表 : 1. コマンドから返された JSON オブジェクト discovery-insights
    オブジェクト 詳細
    customisedPatterns
    • patternName:カスタマイズされたパターンの名前
    • source:カスタマイズされた変更が含まれている場所 (デフォルトなど)
    instanceDetails
    • buildDate:インスタンスのビルド日(形式:MM-DD-YYYY_HHMM)
    • buildName:インスタンスビルドの名前
    pluginDetails ディスカバリー設定に関連するプラグイン、または を実行するために必要な CLIプラグイン。
    戻り値
    ✔ 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"
       }
    }

    get-discovery-credentials

    検出資格情報のリストを取得します。

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery get-discovery-credentials [arguments]
    引数:
    --testableonly:テスト可能な資格情報のみが含まれます。可能な値:true または false。
    次のコマンドを実行して、検出資格情報のリストを取得します。
    snc discovery get-discovery-credentials
    次の引数を指定してコマンドを実行することにより、テスト可能な検出資格情報のみを一覧表示します。
    snc discovery get-discovery-credentials --testableonly="true"
    戻り値
    ✔ 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

    次のような柔軟なオプションを使用して検出ログを取得します。
    • ステータスフィルタリング
    • デバイスの包含
    • 外部通信チャネル (ECC) キューログ
    • パターンログ
    • 出力形式の選択肢
    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery get-discovery-logs [arguments]
    引数
    表 : 2. コマンド get-discovery-logs の引数
    Argument 説明
    --status-id ログをフィルタリングするための Discovery ステータス番号。
    --デバイス デバイス固有のログが含まれます。可能な値:true または false。
    --ecc-queue-logs 関連する ECC キュー ログが含まれます。可能な値:true または false。
    --pattern-logs パターン実行ログが含まれます。可能な値:true または false。
    --pattern-log-level パターンログをフィルタリングする最大重大度レベル。使用可能なオプションは、次のとおりです。
    • DEBUG:DEBUG ログメッセージのみを含めます (デフォルト)
    • エラー:エラーメッセージとデバッグメッセージが含まれます
    • 警告:警告、エラー、およびデバッグメッセージが含まれます
    • INFO:すべてのメッセージが含まれます
    --log-limit 返されるログレコードの最大数は 1 〜 100 です (デフォルトは 100)。ECC キューおよびパターンログにのみ適用されます。
    --output-format ログの出力形式。サポートされている形式は、(既定の形式) またはテーブルです JSON
    次のコマンドを実行して、検出ログを取得します。
    snc discovery get-discovery-logs [options]
    引数を一度に 1 つずつ含めるか、単一のコマンドとして含めて、ログの取得をカスタマイズします。
    • コマンドを一度に 1 つの引数で実行するには:
      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
    • コマンドを単一のコマンドとして実行するには、次のようにします。
      snc discovery get-discovery-logs --status-id="DIS0010013" --ecc-queue-logs="true" --devices="true" --pattern-logs="true" --output-format="json"
    返すログ・レコードの最大数が大きい場合は、表出力形式の使用を検討してください。
    戻り値
    ✔ 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

    ステータスや検証の詳細など、に関する詳細情報 MID サーバーを取得します。必要に応じて、出力に問題ログを含めることができます MID サーバー

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery get-midservers [arguments]
    Argument

    --include-issues:それぞれMID サーバーに問題ログを含めます。可能な値:true または false (デフォルト:true)。

    に関する詳細 MID サーバー を取得するには、次のコマンドを実行します。
    snc discovery get-midservers
    次の引数を指定してコマンドを実行し、その問題ログのリスト MID サーバー とその問題ログを取得します。
    snc discovery get-midservers --include-issues=true
    戻り値
    ✔ 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

    指定された検出パターンに関連付けられた、名前またはsys_idで識別されるコマンドの包括的なリストを取得します。

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery get-pattern-commands [arguments]
    Argument

    --pattern:パターン名またはsys_id

    パターン名またはパターンsys_idを指定してコマンドを実行することにより、指定されたパターンに関連付けられているコマンドのリストを取得します。
    • パターン名 [Windows OS - サーバー] を入力してコマンドを実行します。
      snc discovery get-pattern-commands --pattern="Windows OS - Servers"
    • パターン sys_id 670e55a4db702200c06776231f961942 を入力してコマンドを実行します。
      snc discovery get-pattern-commands --pattern="670e55a4db702200c06776231f961942"
    戻り値
    ✔ 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

    利用可能な検出パターンの包括的なリストを取得します。

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery get-patterns
    次のコマンドを実行して、利用可能な検出パターンのリストを取得します。
    snc discovery get-patterns
    戻り値
    ✔ 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"
       },
       …
    ]

    midserver-action

    に対して MID サーバー、停止、再開、再起動などのさまざまなアクションを実行します。

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery midserver-action [arguments]
    引数
    表 : 3. コマンド midserver-action の引数
    Argument 説明
    -m または -- mid-server の名前またはsys_id MID サーバー
    -a または - -action で実行するアクション。MID サーバー使用可能なオプションは、次のとおりです。
    • 無効
    • 再開
    • 停止
    • 一時停止
    • autoUpgrade
    • upgrade
    • restart
    • file_discovery_refresh
    • grab_logs
    • 検証
    次のコマンドを使用して、で MID サーバー アクションを実行します。
    snc discovery midserver-action [options]
    次のコマンドを実行して、 MID サーバー WinMidServer を再起動します。
    snc discovery midserver-action --mid-server="WinMidServer" --action="restart"
    戻り値
    ✔ Successfully submitted mid-server action
    {
       "Action": "restart",
       "MidServer": "cb8d1625c3fdb110c72691477d01312e",
       "Output": "Mid server restart in-progress."
    }
    
    ✔ Mid server action executed successfully
    restart executed successfully.

    クイック検出

    指定された構成アイテム (CI) または IP アドレスに対してクイック検出を実行します。

    注:
    コールバックの再試行が上限を超えると、次のエラー メッセージが表示される場合があります。
    ✗ Discovery Failed.
    {
    "CurrentActivity": "",
    "DiscoveryStatus": {},
    "State": "Active"
    }
    このメッセージは、コールバックの再試行回数を超過したが、検出に失敗したものの、バックグラウンドでまだ実行されていることを示しています。コマンド snc discovery get-discovery-logs を実行するか、インスタンスで検出ステータスの更新を確認し、 ServiceNow® 検出ログを確認します。
    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery quick-discovery [arguments]
    引数
    表 : 4. コマンド quick-discovery の引数
    Argument 説明
    --型 ターゲットホストタイプ:IP または CI のいずれか。
    --ターゲット ターゲットホストの詳細。
    • IP:IP アドレス
    • CI:使用可能なオプションは、次のとおりです。
      • 名前
      • Sys_id
      • シリアル番号
    --error-logs-only エラーログのみが含まれます。可能な値:true または false (デフォルト:true)。
    指定された基準を使用して、ターゲットエンティティに対してクイック検出を実行します。
    snc discovery quick-discovery
    • 次のコマンドと引数を実行して、IP アドレス 192.168.1.100 に対してクイック検出を実行します。
      snc discovery quick-discovery --type="ip" --target="192.168.1.100"
    • 名前、sys_id、またはシリアル番号を使用してコマンドを実行することにより、指定された CI に対してクイック検出を実行します。
      • CI 名 ecommerce001 に対してクイック検出を実行するには、次のように入力します。
        snc discovery quick-discovery --type="ci" --target="ecommerce001"
      • CI sys_id d0e8761137201000deeabfc8bcbe5da7 に対してクイック検出を実行するには、次のように入力します。
        snc discovery quick-discovery --type="ci" --target="d0e8761137201000deeabfc8bcbe5da7"
      • CI シリアル番号 L3BB911に対してクイック検出を実行するには、次のように入力します。
        snc discovery quick-discovery --type="ci" --target="L3BB911"
    戻り値
    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"
    }

    run-command

    指定された資格情報、ターゲット、および MID サーバーを使用して、リモート デバイスでコマンドを実行します。

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery run-command [arguments]
    引数
    表 : 5. コマンド run-command の引数
    Argument 説明
    --コマンド 実行するコマンド。
    --command-type 実行する操作タイプ。
    --資格 情報 コマンドの実行に使用される資格情報。
    --midserver MID サーバーターゲットとの通信に使用される名前。
    --os-server コマンドを実行するサーバーのオペレーティングシステム (サーバー OS) を表す CI クラス。たとえば、サーバーの cmdb_ci_linux_serverLinux を入力します。
    --ターゲット コマンドを実行するホスト IP アドレス。
    次のコマンドを実行して、Windows Management Instrumentation (WMI) クエリに対して、\root\CIMV2 名前空間の Win32_ComputerSystemProduct クラスからプロパティを取得するUUIDIdentifyingNumberように要求します。
    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"
    戻り値
    ✔ 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-discovery-credential

    指定された . 指定された を使用して、指定された MID サーバーターゲット・システムに対する検出資格情報を検証します。このコマンドは、ネットワーク検出タスクの資格情報の準備状況のみを確認します。検出資格情報またはターゲットシステムの構成は変更も影響も受けません。

    重要:

    このコマンドでは、特定の XML ファイルがモジュールアクセスポリシーリストにインポートされている必要があります。詳細については、「 Discovery CLI 」の記事 Now Support ナレッジベース「KB1553142」を参照してください。

    コマンドグループ
    親グループ:検出
    必要なロール
    discovery_admin
    に関連するサービスを使用する場合、そのサービス ディスカバリーに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery test-discovery-credential [arguments]
    引数
    表 : 6. test-discovery-credential の引数
    Argument 説明
    --Dbname これらの認証情報をテストするデータベースの名前。
    --Dbtype これらの認証情報をテストするデータベースのタイプ。使用可能なオプションは、次のとおりです。
    • MSSQL:Microsoft SQL Server 用
    • MySQL
    • Oracle
    --Icf InitialContext の作成に使用される Java Naming and Directory Interface (JNDI) クラスの名前。JNDI クラスの名前には、最初にパッケージ名、次にクラス名を含める必要があります。たとえば、 ActiveMQ JNDI クラスに接続するには、 org.apache.activemq.jndi.ActiveMQInitialContextFactory と入力します。
    --midserver このテストに使用する名前 MID サーバー 。資格情報をテストするWindowsには、.Windows MID サーバー
    --名前 資格情報の名前です。
    --ポート このテストに使用するターゲット上のポート。このフィールドには、選択した認証情報タイプのデフォルト ポートが事前入力されています。
    --ターゲット これらの認証情報が実行されるターゲット ホスト。この値は、ホスト URL にできる場合を除き VMware、すべての認証情報タイプの IP アドレスである必要があります。
    次のコマンドを実行して、MID サーバー WinMidServer に対して検出資格情報 WinCred をテストします。
    snc discovery test-discovery-credential --name="WinCred" --target="192.168.1.1" --midserver="WinMidServer"
    このコマンドは、次の条件が満たされた場合に成功メッセージを返します。
    • 資格情報は有効です
    • ターゲット・システムへの接続に成功しました
    • 指定された MID サーバー のは運用中です
    これらの条件が満たされていない場合は、問題の詳細を示すエラーメッセージが表示されます。
    戻り値
    ✔ Discovery credentials tested successfully
    Credential Test Id [ecc-sys-id]: "2b36e40ec3727990c72691477d0131c6"
    ✔ The credential test is complete
    {
       "output": "Test Succeeded"
    }

    の詳細については ディスカバリー CLI、 の Discovery CLI [KB1553142] の記事 Now Support ナレッジベースを参照してください。