Finderとの双方向統合 (クラシック)

概要

FinderはNexthinkデータベースへのユーザーフレンドリーなグラフィカルインターフェースです。 そのため、Finderとのインテグレーションは外部アプリケーションとのデータ共有に基づいたものではなく(その部分はWeb APIで既にカバーされています)、他のアプリケーションとのインタラクションに基づいています。 Finderは外部ツールから自動化された方法で起動され、外部アプリケーション上で特定のアクションをトリガーすることも可能です。 Finderはnxtアプリケーションプロトコルとカスタムアクションを用いて他のアプリケーションとインタラクションします。

nxtアプリケーションプロトコル

nxtアプリケーションプロトコル ではURLを記述するだけでFinderを起動し、特定のアクションを実行する手段が提供されます。 Finderはインストール時にWindows上でnxtプロトコルを登録します。 その時点から、WindowsはURIスキームnxtを認識し、それをFinderアプリケーションに関連付けます。 nxt URLをHTMLウェブページのハイパーリンクとして埋め込んだり、ウェブブラウザのアドレスバーで直接使用したり、Windowsの[ファイル名を指定して実行]ダイアログボックスから起動することができます。

Finderはnxt URLから呼び出された時に以下の様々な種類のアクションを処理できます。

  • 新しいFinderを開く。

  • デバイスビューを表示。

  • ユーザービューを表示。

  • サービスビューを表示。

  • メトリックを編集。

  • カテゴリを編集。

  • キャンペーンを編集。

  • リモートアクションを編集。

  • 任意の調査を開始。

nxtプロトコルは、Finderが接続する必要があるポータルとエンジン、および接続するFinderユーザーの名前を指定するメカニズムを提供します。

新しいFinderを開く

nxtプロトコルでトリガーされる最も単純なアクションはFinderの新しいインスタンスを開くことです。

nxt://New-NxFinder

デバイスビューを表示

このnxtプロトコルのコマンドは、特定のデバイスのデバイスビューを開きます。 デバイスをその名前または最後に知られたIPアドレスで識別します。 V6.18から、IDを使用したデバイス識別は廃止されましたが、まだ機能しています。

デフォルトで、デバイスビューはそのデバイスの過去24時間を表示します。 オプションで、デバイスビューの異なる日付範囲をStartDateおよびEndDateパラメータで指定します。

nxt://Show-NxSource?Name=SOURCE_NAME&StartDate=START_DATE&EndDate=END_DATE

日付はUTCタイムゾーンで、フォーマットは: YYYY-MM-JJThh:mmで表現する必要があります。 例えば、2016-04-04T12:00です。 StartDateEndDateの間の時間間隔は7日未満でなければなりません。

ユーザービューを表示

このコマンドを使って特定のFinderユーザーのユーザービューを開きます。 ユーザーを名前で識別します。

nxt://Show-NxUser?Name=USER_NAME

デフォルトで、ユーザービューはそのユーザーの過去24時間を表示します。 デバイスビューについて説明したように、オプションで異なる日付範囲を指定します。

サービスビューを表示

次のnxtプロトコルのコマンドを使うと、Finderで特定のサービスのサービスビューを開くことができます。

nxt://Show-NxService?name=SERVICE_NAME

サービスの名前を実際のものに置き換え、この引数が大文字小文字を区別することに注意してください。

メトリックを編集

特定のメトリックを編集するために、次のコマンドでnxtプロトコルURLを作成し、メトリック名をパラメータとして指定します。

nxt://Edit-NxMetric?Name=METRIC_NAME

メトリック名は大文字小文字を区別します。

カテゴリを編集

特定のカテゴリを編集するために、次のコマンドでnxtプロトコルURLを作成します。

nxt://Edit-NxCategory?Name=CATEGORY_NAME&Type=CATEGORY_TYPE

編集したいカテゴリの名前をCATEGORY_NAMEに置き換え、カテゴリが適用されるオブジェクトのタイプ(アプリケーション、バイナリ、宛先、デバイス、ドメイン、実行可能ファイル、パッケージ、ポート、またはユーザー)をCATEGORY_TYPEに置き換えます。

キャンペーンを編集

特定のキャンペーンを編集するために、次のコマンドでnxtプロトコルURLを作成します。

nxt://Edit-NxCampaign?Encoding=Url&Name=CAMPAIGN_NAME

編集したいキャンペーンの名前をCAMPAIGN_NAMEに置き換えます。

リモートアクションを編集

特定のリモートアクションを編集するために、次のコマンドでnxtプロトコルURLを作成します。

nxt://Edit-NxRemoteAction?Encoding=Url&Name=REMOTE_ACTION_NAME

編集したいリモートアクションの名前をREMOTE_ACTION_NAMEに置き換えます。

調査を開始

nxtプロトコルを使用して、Finderで任意の調査を実行することもできます。 調査を開始するために使用する必要があるコマンドは次の通りです。

nxt://Run-NxInvestigation?Encoding=ENCODING_FORMAT&InvestigationXml=INVESTIGATION_XML

調査はXML形式で指定されます。 Finderで調査の名前を右クリックし、オプションのエクスポートを選択することで、調査のXML表現を取得できます。 その場合、調査をクリップボードまたはファイルにエクスポートすることができます。 いずれの場合でも、調査のXML形式が得られます。

調査のXMLには、URLではサポートされていない特殊文字が含まれている点に注意してください。 エンコーディングパラメータをUrlまたはBase64に設定することで、調査を適切にエンコードします(nxt URLの引数のエンコードセクションを参照してください)。 以下に示すのは、2つの形式でエンコードされた同じ調査です。 引数がエンコードされています。

Url エンコードの例:

Base64 エンコードの例:

ページ幅に合うように、上記の例には改行が含まれていることに注意してください。 それをテストするには、URLをコピーするときに改行を削除するか、NXTプロトコルテストページからリンクをコピーしてください。

接続の確立

nxtプロトコルに接続の詳細を提供しない場合、Finderは現在のセッションのコンテキストでアクションを実行するか(すでにセッションが確立されているFinderが利用可能な場合)、新しいセッションを開始するようユーザーに求め(ログインダイアログを表示)、次にアクションを実行します。

または、URIのパラメータとして接続の詳細を指定します。

ホスト ポータルのDNS名またはIPアドレス。

ポート ポータルがFinderの接続をリッスンするポート番号(デフォルトは443)。

ユーザー名(オプション) 接続のためになりすますためのFinderユーザーの名前。

エンジン名(オプション) 選択するエンジンの名前。

Finderは接続の詳細に一致する最初のセッションを開きます。 エンジン名を指定しない場合、Finderはエンジン選択ダイアログを表示します(ただし、エンジンが1つしかない場合や、ユーザーがお気に入りのエンジンを持っている場合を除く)。 ユーザー名を指定しない場合、Finderはユーザーが誰であるかにかかわらず最初に一致するセッションを開きます。

例えば、特定の接続でデバイスビューを開くには: nxt://Show-NxSource?Name=SOURCE_NAME&Host=PORTAL_ADDRESS&Port=PORT_NUMBER&UserName=USER&EngineName=ENGINE

V5との後方互換性のために、接続の詳細の代わりにnxtプロトコルにセッション名を指定することができます。 ただし、V6ではセッションはFinderとポータルの間の接続を定義しますが、V5ではセッションはFinderとエンジンの間の接続を定義します。 したがって、複数エンジンのV6セットアップでは、セッション名を指定するだけでは接続を完全に記述するには不十分です: Finderはターゲットのポータルを把握していますが、エンジンについては把握していません。 その場合、Finderは通常エンジン選択ダイアログを表示します。 ユーザーがセッションのお気に入りのエンジンを持っている場合(または単一エンジンセットアップの場合)、Finderはエンジン選択をスキップします。 そのため、SessionNameパラメータはV6では廃止されました。

特定のセッションからデバイスビューを開くには、次のURIを作成します。

nxt://Show-NxSource?Name=SOURCE_NAME&SessionName=SESSION_NAME

Finderにユーザーの資格情報を要求しないようにするには、パスワードを保存したセッションや接続詳細を使用してください。 または、セットアップでSAML認証またはWindows認証のいずれかを有効にしている場合、パラメータUseSsoを_true_に設定することで、nxtプロトコルにそれを使用するよう指示することができます。

nxt://Show-NxSource?Name=SOURCE_NAME&Host=PORTAL_ADDRESS&Port=PORT_NUMBER&UseSso=true

SAMLやWindows認証を使用する場合、ポータルアドレスは適切なDNS名でなければならず、IPアドレスであってはなりません。

Finderからのnxtプロトコルリンクの作成

nxtプロトコルリンクは非常に有用です。例えば、ダッシュボードの説明で、ダッシュボードの設定(関連メトリックやカテゴリの編集)を提供したり、Finderに表示される補足情報でダッシュボードを完成させる可能性をもたらします。 ただし、nxtプロトコル用のリンクを書くことは、特に調査をエンコードする必要がある場合、面倒な作業になる可能性があります。 この作業を簡単にするために、Finderからいくつかのアクションのためのnxtプロトコルリンクを直接作成することが可能です。

Finderから次のアクション用のnxtプロトコルリンクを生成します。

Finderからnxtプロトコルリンクを簡単に作成するには:

  1. 左側のアコーディオンメニューで調査、カテゴリ、メトリック、または調査の名前を右クリックします。

  2. コンテキストメニューからエクスポートを選択します。 右クリックしたアイテムの種類に応じて、次のオプションを選択します。

    • 実行調査URLをクリップボードにコピーを選択します(調査を選んだ場合)。 生成されたURLが2083文字を超える場合、Finderは一部のブラウザがこの種のリンクをサポートしない可能性があることを警告するメッセージを表示します(nxtプロトコルの制限セクションを参照してください)。

    • カテゴリURLをクリップボードにコピーして編集を選択します(カテゴリを選んだ場合)。

    • メトリックURLをクリップボードにコピーして編集を選択します(メトリックを選んだ場合)。

    • サービスURLをクリップボードにコピーして表示を選択します(サービスを選んだ場合)。

  3. クリップボードのURLを貼り付けて、ウェブページ、メール、またはダッシュボードの説明で共有します。

nxtプロトコルの制限

XML形式の調査は非常に冗長である可能性があります。 調査に加える条件が多ければ多いほど、XMLは長くなります。 ただし、nxt URLのサポートされる最大長は2083文字に制限されています。 したがって、この方法で複雑な調査を開始することができない場合があります。

URLの文字数制限は、リクエストを発行するブラウザによってさらに制限される場合がありますので注意してください。 例えば、Internet Explorerは最大507文字をサポートしています。

nxt URLの引数のエンコーディング

nxt URLの引数にURLでサポートされない特殊文字が含まれている場合、Base64またはURL(パーセント)エンコードを使用してそれらをエンコードすることができます。 エンコーディング方法を指定するために、nxt URLの最初の引数として追加のEncoding引数を含める必要があります。 この引数の値としては、Base64またはUrl のいずれかを指定できます。 一度エンコーディング方法を選択したら、URLのすべての引数をその方法でエンコードする必要があることに注意してください。 同じnxt URLで異なるエンコーディング方法を混在させることはできません。

Base64エンコーディング

可能な限り、より堅牢であるため、nxt URLにはBase64エンコーディングを使用することをお勧めします。 この方法は、URLのエンコーディングに伴う二重エンコーディングや二重デコーディングのシナリオを防ぎます。 この方法の欠点は、引数が人間には読めなくなることです。 例えば、次のURLはID 12を持つデバイスを表示するようFinderに指示します。

nxt://Show-NxSource?Encoding=Base64&Id=MTI=

URLエンコーディング

URLエンコーディングは、限られたシナリオをサポートするシンプルなBase64エンコーディングの代替です。 例えば、引数のひとつがスペース文字を含む場合にURLエンコーディングを利用できます。 実際、一部のブラウザではURL内のスペースを自動的に"%20"とエンコードします。 以下のハイパーリンクは、「">My link`

<a href="nxt://Show-NxSource?Name=Work PC1">My link</a>

そのようなブラウザから呼び出すと次のように変換されます。

nxt://Show-NxSource?Name=Work%20PC1

結果として、エンコーディングが指定されていない場合、システムは_"Work%20PC1"_という名前のデバイスを探すことになります。 URLエンコーディングを利用してこの問題を修正する方法は次の通りです。

<a href="nxt://Show-NxSource?Encoding=Url&Name=Work%20PC1">My link</a>

情報レベル

FinderセッションはFinderユーザーアカウントに結び付けられています。 セッションにバインドされたユーザーアカウントの情報レベルに応じて、nxtプロトコルを使用して特定のクエリをエンジンに対して実行できるかどうかが決まります。 以下の表は、セッションがエンジンに接続するために使用するFinderアカウントの情報レベルに基づいて利用可能なShow-NxSourceコマンドのバリエーションを示しています。

Information level

nxtプロトコル呼び出しのテストとデバッグ

誤ったコマンド、引数またはエンコーディングのnxt URLを呼び出す際、nxtプロトコルハンドラーはエラーメッセージを表示せず黙って終了します。 インテグレーション時には、なぜ呼び出しが失敗したのか知るためのフィードバックがあると便利です。 プロトコルハンドラーにトレースリスナーをアタッチするという選択肢があります。

Nexthink.Finder.PowerShell.exe.configという名前のファイルを次の内容で作成し、FinderのインストールディレクトリのIntegrationディレクトリにあるNexthink.Finder.Powershell.exeファイルのディレクトリに保存します。

ここで、DESTINATION_FILEはトレース情報が保存されるログファイルのフルパスです(例: c:\log\Finder_Launcher.log)。

カスタムアクション

カスタムアクションにより、ユーザーはFinderから外部操作を起動できます。 カスタムアクションは、Finderの自動化を可能にするnxtアプリケーションプロトコルを補完します。

カスタムアクションは、オブジェクト、アクティビティ、またはイベントのコンテキスト内で適用されます。 カスタムアクションを定義するとき、これらのいずれかは、そのアクションの「オブジェクト」として命名されます。 したがって、カスタムアクションのオブジェクトは、デバイスやユーザーだけでなく... 接続、実行、またはデバイス警告も含むことができます。 カスタムアクションオブジェクトは、調査を設定できるものであれば、何でも該当します。 オブジェクトを指定することに加え、カスタムアクションはオブジェクトの属性またはカテゴリを指定することがユーザーに求められます。 属性の値は、後にカスタムアクションの引数として使用される場合があります。

以下の3つのタイプのカスタムアクションを利用できます。

  1. URLを開く

  2. コマンドプロンプトでコマンドを実行

  3. 外部プログラムを実行

FinderはカスタムアクションをFinderがインストールされたマシン上にローカルで保存します。 したがって、定義したカスタムアクションのセットは接続するエンジンに関わらず常に利用可能です。 また、他のFinderインストール間で共有するためにカスタムアクションのセットをエクスポートすることもできます。

デフォルトのカスタムアクション

Nexthink Finderには、使いやすいデフォルトのカスタムアクションセットが搭載されています。 デフォルトのカスタムアクションにより、マシンへのpingやリモートデスクトップ接続の開設、プロセス、ポート、IPアドレスの情報を有名なウェブサイトで参照できます。 デフォルトのカスタムアクションのセット。

Default custom actions

ユーザー定義カスタムアクション

コンテキストに利用可能なアクションのセットを拡張するために独自のカスタムアクションを定義できます。 例として、特定のユーザーに自動でメールを送信するための、ユーザーオブジェクト用のカスタムアクションを作成します。 まず、メニューの[ツール]オプションをクリックし、[カスタムアクション…]を選択して、利用可能なカスタムアクションのセットを開きます。

これが最初に作成したカスタムアクションである場合、前章で見たのと同じデフォルトのアクションのセットを表示します。 [新規作成]をクリックすると、カスタムアクション作成のためのダイアログが表示されます。 次の値でダイアログを埋めます。 ダイアログに以下の値を入力します:

User-defined custom actions

実行時にカスタムアクションの%文字は、選択した属性で置換されます。 この場合、ユーザーの名前が%文字を置換します。 コマンド内で置換したくない%文字を書く必要がある場合は、二重の%: %%を使用してください。 これは簡略化された例であり、ユーザーの名前と会社名を連結するだけでメールアドレスを直接組み立てられると仮定しています。 mailtoスキームと併せてURLを開くアクションを使用することで、このアクションが実行された際にデフォルトのメール作成ツールが起動されるようにしました。

カスタムアクションは、同時に1つまたは複数のオブジェクトに適用できます。 カスタムアクションを編集する際、選択した各オブジェクトに対して別々にアクションを適用するか、すべての選択オブジェクトに対して一度にアクションを実行するかを決定できます。

このオプションはカスタムアクションの編集ダイアログの[詳細]セクションをクリックして設定できます。 私たちの場合、デフォルトでトリガーされる複数のアクションを選択しているため、複数のユーザーが選択された場合、それぞれのユーザーに個別にメールが送信されます。 トリガーされる単一のアクションが選択された場合、「%」文字は選択されたすべてのオブジェクトの属性値を連結したもので置換され、アクションは1回だけ実行されます。 また、各属性値を区切るための値区切り文字も指定できます。 既定では、区切り文字はセミコロン「;」です。

Edit custom actions

複数のオブジェクトに対して単一アクションをトリガーすると、属性値が多く連結され、「%」記号に代わる非常に長い文字列になることがあります。 非常に長いパラメータに基づいてコマンドを実行するアクションがある場合、コマンドラインでスペースが不足する可能性があります。 この制限を克服するためにFinderには追加のオプションがあります(バージョン4.3.3以降)、連結パラメータを一時ファイルに保存することができます。

したがって、一時ファイルのパスのみがプレースホルダー「 %」の代わりに使われます。以下の例のように。

Edit custom actions

カスタムアクションの実行

オブジェクトまたはオブジェクトセットのコンテキストメニューからカスタムアクションを呼び出すことができます。 オブジェクトは、調査のリスト結果から、ネットワーク活動またはローカル活動のビューから選択できます。 ネットワーク活動およびローカル活動のビューは、特定のオブジェクトの種類によっては利用可能かどうかが変わります。

Finderからのデータエクスポート

Finderには、クリップボードを通じて外部アプリケーションとデータを共有する方法も含まれています。 調査の結果を部分的または完全にクリップボードにコピーできます。 選択したオブジェクトを右クリックして[行をコピー]オプションを選択します。 その後、クリップボードの内容をお気に入りのスプレッドシートアプリケーションに貼り付けることができます。

選択の全行をコピーする代わりに、右クリックした際にマウスカーソルの下にある属性の値をクリップボードにコピーするだけです。 上記の例では、コンテキストメニューに最初のコンピュータの名前をコピーできることを示しています。 この方法はユーザーによる操作が必要であるため、自動化には適していません。 上記のように述べた通り、外部アプリケーションから定期的にNexthinkデータベースを照会する必要がある場合、Web APIが推奨される方法です。


関連タスク

Last updated

Was this helpful?