ディスカバリー向け CLI コマンド

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:26分
  • パターンデザイナー 拡張機能アプリケーションの ディスカバリー 向けコマンドラインインターフェイス (CLI) で使用できるコマンドのリストです。

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

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

    discovery-insights

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

    コマンドグループ
    親グループ:ディスカバリー
    必要なロール
    discovery_admin
    ディスカバリー に関連するサービスを使用する場合は、そのサービスに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery discovery-insights
    次のコマンドを実行して、ディスカバリーの構成とパターンに関する詳細を取得します。
    snc discovery discovery-insights
    このコマンドは、次の表に示す情報を含む JSON オブジェクト (既定の形式) を返します。
    表 : 1. discovery-insights コマンドから返された JSON オブジェクト
    オブジェクト 詳細
    customizedPatterns
    • patternName:カスタマイズされたパターンの名前
    • source:カスタマイズされた変更が含まれている場所 (デフォルトなど)
    instanceDetails
    • buildDate:インスタンスのビルド日 (形式:MM-DD-YYYY_HHMM)
    • buildName:インスタンスのビルド名
    pluginDetails ディスカバリーの構成に関連するプラグイン、または CLI を実行するために必要なプラグイン。
    戻り値
    ✔ Discovery diagnostics successfully completed.
    {
       "customizedPattern": [
          {
             "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 コマンドの引数
    引数 説明
    --status-id ログをフィルタリングするディスカバリーステータスの番号。
    --devices デバイス固有のログが含まれます。可能な値:true または false
    --ecc-queue-logs 関連する ECC キューのログが含まれます。可能な値:true または false
    --pattern-logs パターン実行ログが含まれます。可能な値:true または false
    --pattern-log-level パターンログをフィルタリングする最大重大度レベル。使用可能なオプションは、次のとおりです。
    • DEBUG:DEBUG ログメッセージのみが含まれます (デフォルト)
    • ERROR:ERROR メッセージと DEBUG メッセージが含まれます
    • WARN:WARN、ERROR、および 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]
    引数

    --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]
    引数

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

    パターン名または sys_id を指定してコマンドを実行し、指定されたパターンに関連付けられているコマンドのリストを取得します。
    • パターン名「Windows OS - Servers」を入力してコマンドを実行します。
      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 コマンドの引数
    引数 説明
    -m または --mid-server MID サーバー の名前または sys_id
    -a または --action MID サーバー で実行するアクション。使用可能なオプションは、次のとおりです。
    • invalidate
    • resume
    • stop
    • pause
    • autoUpgrade
    • upgrade
    • restart
    • file_discovery_refresh
    • grab_logs
    • validate
    次のコマンドを使用して、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.

    quick-discovery

    指定された構成アイテム (CI) または IP アドレスに対してクイックディスカバリーを実行します。

    注:
    コールバックの再試行が上限を超えると、次のエラーメッセージが表示される場合があります。
    ✗ Discovery Failed.
    {
    "CurrentActivity": "",
    "DiscoveryStatus": {},
    "State": "Active"
    }
    このメッセージは、コールバックの再試行回数を超過し、ディスカバリーに失敗したものの、バックグラウンドでまだ実行されていることを示しています。snc discovery get-discovery-logs コマンドを実行するか、ServiceNow® インスタンスでディスカバリーステータスの更新を確認し、ディスカバリーログを確認します。
    コマンドグループ
    親グループ:ディスカバリー
    必要なロール
    discovery_admin
    ディスカバリー に関連するサービスを使用する場合は、そのサービスに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery quick-discovery [arguments]
    引数
    表 : 4. quick-discovery コマンドの引数
    引数 説明
    --type ターゲットホストタイプ:IP または CI のいずれか。
    --target ターゲットホストの詳細。
    • 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 コマンドの引数
    引数 説明
    --command 実行されるコマンド。
    --command-type 実行する操作タイプ。
    --credential コマンドの実行に使用される認証情報。
    --midserver ターゲットとの通信に使用される MID サーバー の名前。
    --os-server コマンドを実行するサーバーのオペレーティングシステム (サーバー OS) を表す CI クラス。例えば、Linux サーバーの場合は「cmdb_ci_linux_server」と入力します。
    --target コマンドを実行するホスト 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 ファイルがモジュールアクセスポリシーリストにインポートされている必要があります。詳細については、Now Support ナレッジベース の「Discovery CLI (ディスカバリー向け CLI)」 (記事番号:KB1553142) を参照してください。

    コマンドグループ
    親グループ:ディスカバリー
    必要なロール
    discovery_admin
    ディスカバリー に関連するサービスを使用する場合は、そのサービスに必要なロールを持っている必要があります。
    コマンド構造
    snc discovery test-discovery-credential [arguments]
    引数
    表 : 6. test-discovery-credential の引数
    引数 説明
    --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 サーバー を使用する必要があります。
    --name 認証情報の名前。
    --port このテストに使用するターゲット上のポート。このフィールドには、選択した認証情報タイプのデフォルト ポートが事前入力されています。
    --target これらの認証情報が実行されるターゲット ホスト。この値は、VMware 以外のすべての認証情報タイプの IP アドレスである必要があります。これはホスト URL にすることができます。
    次のコマンドを実行して、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 の詳細については、Now Support ナレッジベース の「Discovery CLI (ディスカバリー向け CLI)」 (記事番号:KB1553142) を参照してください。