セルフサービスポータルを用いたデバイス問題の修正

始めに、一般的なセルフサービスの使用例のためのNQLの例を確認してください。

社員にデバイスに関する基本情報とトラブルシューティングのオプションを提供するために、Nexthinkデータを利用してデバイス情報を取得し、特定の修復を開始します。次のようにするためには:

  • リモートアクションを使用してディスクスペースの問題を解決する。

  • ワークフローを使用してMicrosoft Teamsのトラブルシューティングを行う。

  • バッテリーの健全性が低い場合、新しいバッテリーを注文して修復する。

前提条件

セルフサービスポータルをNexthinkと統合する前に、以下の事項が整っていることを確認してください:

  • Nexthinkライセンス

  • 管理者権限

セルフサービスポータルのインタラクション設計

インタラクションステージ
API技術

ステップ1: コミュニケーションの認証

API資格情報を設定して、APIを通じてトークンを収集します。

ステップ2: デバイスの特定

NQL APIを使用して、セルフサービスポータルウィジェットがユーザー名に基づいてデバイスを識別できるようにします。 大規模な組織の場合、NexthinkはData Exporterを使用してこの情報をキャッシュすることを強く推奨します。

ステップ3: デバイスの診断

NQL API(またはData Exporter)を使用してデバイスのパフォーマンスデータと、起動影響取得およびバッテリーステータス取得のリモートアクションの結果を取得します。

ステップ4: 問題の修復

Remote Actions APIを使用して、ユーザーデバイスでディスククリーンアップリモートアクションをトリガーします。

ステップ5: 修正のフォローアップ

NQL APIを使用して修復状態と詳細を取得し、ユーザーに修復結果に関して通知します。

Nexthink内で

Nexthink WebインターフェースでAPI機能を設定します。 次の順序で機能をリストの通りに従うことを推奨しますが、相互依存するものもあります。 それでも、ニーズに応じて異なるソリューション間を自由に移動する自由があります。

データ収集用のリモートアクションの設定

Nexthinkライブラリから次のリモートアクションをインストールします:

  • 起動影響取得

  • バッテリーステータス取得

実行を毎日スケジュールします。 より詳しい情報はリモートアクションの管理をご参照ください。

修復用のリモートアクションの設定

Nexthinkライブラリーからディスククリーンアップをインストールします。 すでにインストールされている場合は、それをコピーし、以下のように設定します:

  • リモートアクショントリガーにAPIを選択します。

  • セルフサービスポータルのニーズに合わせたデフォルトの入力パラメーター値を設定します。 ディスククリーンアップのリモートアクションの入力パラメータの表を以下でご覧ください。

ディスククリーンアップリモートアクションの入力パラメータ

入力
推奨値

DiskCleanupCampaignId

キャンペーンを表示したい場合は、Nexthinkライブラリのキャンペーンdisk_cleanup_invokeを使用してください。

キャンペーン確認のポップアップを表示させたくない場合は、値00000000-0000-0000-0000-000000000000を入力してください。

CleanupCompletedCampaignId

キャンペーンを表示したい場合は、Nexthinkライブラリのキャンペーンdisk_cleanup_completedを使用してください。

キャンペーン通知のポップアップを表示させたくない場合は、値00000000-0000-0000-0000-000000000000を入力してください。

RemoveFilesNotModifiedInDays

Nexthinkライブラリのデフォルト値(7)

MaximumDelayInSeconds

Nexthinkライブラリのデフォルト値(30)

CleanupLevel

クリーンアップレベルを、ライトまたはディープから選択してください。

このフィールドは、キャンペーンを使用せず、従業員にクリーンアップレベルを選択させる場合にのみ動作します。 それ以外の場合は、従業員の選択が優先されます。

NQL APIクエリを作成

デザインされたシナリオに従い、3つのNQL APIクエリを作成する必要があります。

  • ユーザー名に基づいてユーザーデバイスを取得—ステージ1: デバイスを特定する。

  • 現在のトピックの診断を行うためにデバイスデータを取得—ステージ2: デバイスを診断する。

  • リモートアクションのステータスと結果を取得する—ステージ4: 修正を追跡する。

各NQL APIクエリの詳細をご覧ください。

ユーザー名に基づいてユーザーデバイスを取得する

クエリID: #get_device_basic_infos

  • collector.uidフィールドは、次回のインタラクションでリモートアクションをトリガーする際にシステムが使用するキーです。

  • 一致はusernameに基づいています。 代替アプローチについては、[プリビルト] セクションを参照してください。

現在のトピックの診断を行うためにデバイスデータを取得する

クエリID: #diagnose_device_bad_health

前提条件:

  • デバイス名を前のステップで取得しました。

  • この例では、3つのデータポイントを収集します:

    • ディスクの空き容量は、標準のメトリックです。

    • 高いスタートアップインパクトのあるアプリケーションを確認するために、NexthinkライブラリのGet Startup Impactというリモートアクションが必要です。 リモートアクションをインストール、設定し、毎日実行されるようにスケジュールしてください。

    • バッテリーの健康を確認するために、NexthinkライブラリのGet Battery Statusというリモートアクションが必要です。 リモートアクションをインストール、設定し、毎日実行されるようにスケジュールしてください。

  • リモートアクションがスケジュールされていないか、デバイスでまだ実行されていない場合、対応する列は空になります。

ディスククリーンアップのリモートアクションを取得する

コンテンツ: リモートアクション from Nexthinkライブラリ (NQL ID: disk_cleanup)

前提条件:

  • 前のステップでNQL APIまたはデータエクスポート経由でcollector.uidを取得しています。

  • リモートアクションDisk CleanupをインストールまたはNexthinkライブラリからリモートアクションをコピーし、以下のように設定します:

    • リモートアクショントリガー用にAPIを選択してください。

    • セルフサービスポータルのニーズに合ったデフォルトの入力パラメータ値を設定してください。 ディスククリーンアップリモートアクションの入力パラメータの表を以下でご覧ください。

<translation_instructions>

NexthinkのWebインターフェイスでAPIクレデンシャルを作成し、Nexthinkとセルフサービスポータル間の安全な通信を確立します。 PermissionsセクションでRemote Actions APINQL APIを選択してください。 APIクレデンシャルについての詳細情報はドキュメントを参照してください。

セルフサービスポータルについて

Nexthink内で必要なAPI機能をすべて設定した後、APIコールを実装してください。

手順1: 通信を認証する

以下のAPIコールを実行する前に、有効な認証トークンを取得する必要があります。 生成したAPIクレデンシャルを使用し、有効なOAuthトークンを取得する方法については、Nexthink Developerのドキュメントを参照してください。

手順2: デバイスを特定する

デバイスを特定するには、ユーザー名に基づいてユーザーデバイスを取得するで作成した#get_device_basic_infos NQL APIクエリを使用してください。

APIリクエスト

POST /api/v1/nql/execute

Example APIレスポンス

ステータス 200

注釈:

  • ステータスコードが200でない場合、リクエストは失敗したか、レート制限を超えた可能性があります。 詳細については、Nexthink Developerドキュメントを参照してください。

  • 返されたリストが空の場合、そのユーザーは指定された時間枠内(この例では過去7日間)にデバイスでアクティブでなかったことを意味します。 従業員がデバイスを使用開始してから、Nexthinkのデータプラットフォームにデータが利用可能になるまで、やや遅れがあります。

大規模な組織では、どのデバイスがどの従業員に使用されているかを特定するために、CMDBに依存することをNexthinkは推奨しています。 Nexthinkデータを活用し、Data exporterを使用してCMDBデータを強化および修正してください。 ServiceNowへのセキュアファイル転送プロトコル(SFTP)を介したエクスポートまたはHTTPを介したエクスポートを設定する方法については、次のドキュメントを参照してください。

NQLクエリに基づいて、キーとなるユーザー情報を抽出するための定期的なデータエクスポートを考慮してください。

手順3: 特定されたデバイスを診断する

ユーザーがデバイスを選択した後、デバイス情報を取得するには、以前に作成した現在のトピックの診断を行うためにデバイスデータを取得する下の #diagnose_device_bad_health NQL APIクエリを使用してください。

APIリクエスト

POST /api/v1/nql/execute

Example APIレスポンス

ステータス 200

  • collector.uidフィールドは、次回のインタラクションでリモートアクションをトリガーする際にシステムが使用するキーです。

  • チャットボットが会話内で使用する3つの列は、意思決定の分岐点として使用されます:

    • IF free_space_GB <= 6 THEN 修正のためにライブラリのリモートアクション Disk Cleanupをトリガーします。

    • IF remote_action.get_startup_impact_windows.execution.outputs.HighImpactCount > 0 THEN スタートアップメニューからアプリケーションを無効にするために、ライブラリのリモートアクション Disable Application from Startup menu をトリガーし、 remote_action.get_startup_impact_windows.execution.outputs.HighImpactApplications の値を利用して高インパクトアプリケーションを無効にします。

    • IF remote_action.get_battery_status.execution.outputs.BatteryHealth <= 0.85 THEN バッテリー交換が必要です: このチャットボットからITSMチケットを作成してフォローアップしてください。

注意:

  • ステータスコードが200でない場合、リクエストが失敗するか、レート制限を超えたということです。 詳細はNexthink Developerドキュメントをご参照ください。

  • 返されたリストが空の場合、指定された時間枠内でユーザーがどのデバイスにもアクティブでなかったことを意味します。

  • 診断フィールドのいずれかがnullまたは空の場合、情報が利用できません。 空の値の可能性の理由は次のとおりです:

    • データプラットフォームフィールドでは、そのプラットフォームではフィールドがサポートされていません。 詳細はNQLデータモデルのドキュメントを参照してください。

    • リモートアクションフィールドでは、システムがまだリモートアクションを実行に成功していません。 リモートアクションのスケジュール、ターゲティングNQLクエリ、リモートアクションダッシュボードを確認し、実行エラーの可能性を調べてください。

ステップ4: 問題を修正してください

以前のステップで設定した ディスククリーンアップリモートアクションをRemote Action APIを使用して実行し、従業員がセルフサービスウィジェット内のボタンをクリックした後に問題を修正してください—リモートアクションの構成を参照。

APIリクエスト

POST /api/v1/act/execute

例 API 応答

ステータス 200

  • 成功したAPI呼び出しは、エンドポイントが準備ができ次第、リモートアクションが実行される予定であることを示します。

  • 返されたリクエストIDを使用すると、実行状況を追跡できます。

  • この呼び出しは非同期であり、成功したAPI呼び出しはリモートアクションの開始と完了を示しているわけではありません。

注意:

  • ステータスコードが200でない場合は、リクエストが失敗したか、レート制限に達したことを意味します。 詳細はNexthink開発者ポータルのドキュメントを参照してください。

ステップ5: 修正の追跡

以前に作成した #get_remote_action_result NQL APIクエリを使用して、リモートアクションの状態と結果を取得してください。

前のステップからの入力

以前のステップで Remote action API 呼び出しによって request_id を取得しました。 ステップ4: 問題を修正

APIリクエスト

POST /api/v1/nql/execute

例 API 応答

ステータス 200

  • remote_action.execution.statusは現在の実行ステータスを示します。 主要なステータスには次が含まれます:

    • 成功 はリモートアクションが正常に実行された場合。

    • 進行中 はシステムがまだ実行を完了していない場合。 様々なリモートアクションの状態については、リモートアクションのドキュメントを参照してください。

  • remote_action.execution.status_detailsには、トラブルシューティングに役立つリモートアクション実行の詳細情報が含まれています。 意図的に、これは社員には直接公開されません。

  • remote_action.execution.outputs はリモートアクションの出力値を含むJSONマップです。 ディスククリーンアップリモートアクションでは、返される値は解放されたスペースの量をバイト単位で示しています。

注意:

  • ステータスコードが200でない場合は、リクエストが失敗したか、レート制限に達したということです。 詳細については、Nexthink 開発者ポータルを参照してください。

  • システムが空のリストを返した場合、システムはまだリモートアクションの実行を作成していません。 これは、APIをトリガーしてから24時間を超えるか、指定された時間枠の前にAPIを呼び出すと発生します。

プリビルトコンテンツ

セルフサービスポータルの統合を始めるにあたり、通常のチャットボットの会話で使用可能なトピックの例を見つけてください。 各トピックには次のものが含まれています:

  • 前提データ収集用リモートアクション。 このセクションで参照されるすべてのリモートアクションはNexthinkライブラリで利用でき、事前に設定する必要があります:

    • データ収集リモートアクションのトリガータイプスケジュールを選択し、スケジュールを1時間または1日の頻度で設定します。

    • 修正リモートアクションのトリガータイプをAPIとして有効にします。 詳細はリモートアクションの管理のドキュメントを参照してください。

  • 診断NQLクエリ。

  • 診断クエリ結果の解釈方法に関するロジック。

  • 各診断に対する可能な修正。

端末名を事前に特定していると仮定し、適切な流れでエンドツーエンドユースケースを使用して例を実装してください。

一般的なクエリ

エンドツーエンドユースケースで示されているように、すべてのユースケースで有用な基本的なタスクを実行するための汎用クエリを構成します:

タスク
NQL クエリー

ユーザーのデバイスの取得

クエリID: #get_device_basic_infos - ユーザー名に基づいて一致する

ユーザー名 == $usernameに対するwhere句を調整して、例えば別のアプローチで使用できます:

  • ユーザーのUPNがわかっている場合: | ユーザー UPN == $upn (コレクターレベルでのUPNの有効化が必要)

  • ユーザーのメールアドレスがわかっている場合: | ユーザー ad.emailアドレス == $email (Azure ADコネクタがアクティブ化され、メールフィールドが同期されていることが必要)

  • デバイス名がわかっている場合: | デバイス名 == $device_name

7日間以外の期間にユーザーがアクティブであったデバイスを考慮したい場合は、時間枠を調整します。

両方の過去7日間句を、Nexthinkテナントの最大データ保持期間、デフォルトで30日までの希望時間枠に置き換えてください。

修正リモートアクションのステータスと出力の取得

クエリID: #get_remote_action_result


関連トピック

Last updated

Was this helpful?