利用事例: ディスク問題をチャットボットで解決
この使用ケースでは、NexthinkのAPI機能とチャットボットソリューションを統合して、ディスク関連の問題を修正するための手順を詳述します。
このドキュメントには、問題の解決に不可欠な一般的なチャットボットタスクのためのNQL例を示しています。
従業員にデバイスの問題に関する基本的なトラブルシューティングを提供する。
従業員デバイスに関するNexthinkデータを活用して基本的なデバイス情報を取得する。
ディスクの問題を解決するための修正を開始する。
ステップ1 - API技術を使用してディスク問題の解決のためのユーザーとチャットボットの対話を設計する
従業員とチャットボットの対話の標準化手順を設計し、各ステップで使用するAPI技術を定義します。
チャットボットのフローを理解するためにNexthink REST APIを使用したチャットボットの統合ドキュメントを参照してください。
次の表は、この使用ケースのために設計された対話のステップを示しています。
通信の認証
API資格情報を設定し、APIを通じてトークンを収集します。
デバイスの識別
チャットボットがユーザー名に基づいてデバイスを識別できるようにNQL APIを使用します。 または、データエクスポーターを使用します。
ユーザーデバイスの診断
デバイスのパフォーマンスデータとGet Startup ImpactおよびGet Battery Statusリモートアクションの出力を取得するためにNQL API(またはデータエクスポーター)を使用します。
問題の修正
リモートアクションAPIを使用して、ユーザーのデバイスでDisk Cleanupリモートアクションをトリガーします。
修正のフォローアップ
NQL APIを使用して修正のステータスと詳細を取得し、修正結果をユーザーに通知します。
ステップ2 - APIを介したチャットボット統合をサポートするためにNexthinkコンテンツを設定する
NexthinkウェブインターフェイスでAPI機能を設定します。 Nexthinkは、各機能が依存関係があるため、リストされた順序に従うことを推奨しています。 それでも、あなたの好みに応じてさまざまなソリューション間をナビゲートする柔軟性があります。
データ収集リモートアクションの設定
Nexthinkライブラリから次のリモートアクションをインストールします。
Get Startup Impact
Get Battery Statusです。
実行を毎日行うようにスケジュールします。 詳細については、リモートアクションの管理を参照してください。
このステップを完了すると、次のステップで使用するためのリモートアクションのNQL IDを保存します。
NQL ID:
get_startup_impact_windowsget_battery_status
修正リモートアクションの設定
NexthinkライブラリからDisk Cleanupリモートアクションをインストールします。 すでにインストール済みの場合は、それをコピーして以下のように設定します。
リモートアクショントリガーとしてAPIを選択します。
チャットボットの要件に応じたデフォルトの入力パラメータの値を設定します。 Disk Cleanupリモートアクションの入力パラメータの表を参照してください。
Disk Cleanupリモートアクションの入力パラメータ
DiskCleanupCampaignId
キャンペーンを表示する場合は、ライブラリキャンペーンのdisk_cleanup_invokeを使用します。
キャンペーン確認ポップアップを表示しない場合は、値を00000000-0000-0000-0000-000000000000に設定します。
CleanupCompletedCampaignId
キャンペーンを表示する場合は、ライブラリキャンペーンのdisk_cleanup_completedを使用します。
キャンペーン通知ポップアップを表示しない場合は、値を00000000-0000-0000-0000-000000000000に設定します。
RemoveFilesNotModifiedInDays
ライブラリデフォルト値 (7)
MaximumDelayInSeconds
ライブラリデフォルト値 (30)
CleanupLevel
クリーンアップレベル、LightまたはDeepを選択します。
このフィールドは、キャンペーンを使用しないことを選択し、従業員がクリーンアップレベルを選択する場合にのみ機能します。 それ以外の場合は、従業員の選択が優先されます。
このステップを完了すると、次のステップで使用するためのリモートアクションのNQL IDを保存します。
NQL ID: disk_cleanup
NQL APIクエリの作成
設計されたシナリオに従って、3つのNQL APIクエリを作成する必要があります。
ユーザーの
usernameに基づいてユーザーデバイスを取得する(ステージ1:デバイスの識別)。現在のトピックのために診断を行うためのデバイスデータを取得する(ステージ2:デバイスの診断)。
リモートアクションのステータスと結果を取得する(ステージ4:修正後のフォローアップ)。
各NQL APIクエリの詳細を参照してください。
このステップを完了すると、次のステップで使用するためのすべてのNQL APIクエリのNQL IDを保存します。
NQL ID:
#get_device_basic_infos
#diagnose_device_bad_health
#get_remote_action_result
API資格情報を設定する
NexthinkのウェブインターフェイスでAPI資格情報を作成して、Nexthinkとチャットボット間の安全な通信を確立します。 Permissionsセクションから、Remote Actions APIとNQL APIを選択してください。 詳細については、API資格情報を参照してください。
このステップを完了したら、Nexthinkウェブインターフェイスの資格情報作成中に取得したクライアントIDおよびクライアントシークレットを保存します。
ステップ3 - チャットボットのサービス層内でAPI呼び出しを実装する
Nexthink内で必要なすべてのAPI機能を設定した後、チャットボットのサービス層内でNexthink REST API呼び出しを実装します。
次のステージは、ユーザーとチャットボットの対話設計を反映しています。
チャットボットの第一ステージ:通信の認証
以下のAPI呼び出しを実行する前に、有効な認証トークンを取得する必要があります。 Nexthink開発者のドキュメントを参照し、生成したAPI資格情報を使用して有効なOAuthトークンを取得する方法を確認してください。
チャットボットの第二ステージ:デバイスの識別
従業員(ユーザー) デバイスに問題があります
デバイスを識別するために、前に作成した#get_device_basic_infos NQL APIクエリを使用します(参照:ユーザー名に基づいてユーザーデバイスを取得する)。
チャットボットプラットフォームはAPI呼び出し間でセッションコンテキストを維持できる必要があります。 たとえば、このステップで取得したデバイス識別子は、後のステージである診断、修正、修正確認で保存して再利用する必要があります。
チャットボットの第三ステージ:デバイスの診断
(チャットボット) 次のデバイスを見つけました。どのデバイスに問題がありますか?
(1)ノートパソコン XN1231242-2142 (Lenovo)
(2)ノートパソコン XCX124231-1231 (Apple)
従業員(ユーザー) 1
デバイス情報を取得するためには、前に作成した#diagnose_device_bad_health NQL APIクエリを使用します(参照:現在のトピックのために診断を行うためのデバイスデータを取得する)。
チャットボット 第四段階: 問題の是正
(チャットボット) ありがとうございます、デバイスには約 2 GB の空きディスクスペースしか残っていないようです。
遅延を防ぐために不要なファイルをクリーンアップできます。
続行しますか?
従業員 (ユーザー) はい
リモートアクション API を使用して、前のステップで設定した ディスククリーンアップのリモートアクションを実行し、問題を解決します (参照: リモートアクションの設定)。
リモートアクションAPIの応答には、実行ステータス(成功/失敗)と定義された出力が含まれます。 チャットボットはこの情報を使用して、修正が正しく適用されたのか、必要に応じてトラブルシューティングを続行するかを確認することができます。
チャットボット 第五段階: 修正のフォローアップ
(チャットボット) 修正を開始しました。 すぐに終了します。
以前に作成した #get_remote_action_result NQL API クエリを使用してリモートアクションのステータスと結果を取得します。
(参照: リモートアクションのステータスと結果の取得)。
NexthinkはAPIによってリモートアクションをトリガーした後、1分以内にリモートアクション結果を取得するための呼び出しを行うことを推奨しています。
会話の終了
(チャットボット) 全て完了しました - 1.3 GBを解放しました。 他にご助力できることはありますか?
関連トピック
Last updated
Was this helpful?