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

概要

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

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

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

Finderがnxt URLから呼び出された際に処理可能なさまざまな種類のアクションがあります:

  • 新しいFinderを開く。

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

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

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

  • メトリックを編集する。

  • カテゴリを編集する。

  • キャンペーンを編集する。

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

  • 任意の調査を開始する。

nxtプロトコルは、Finderが接続しなければならないPortalとEngineに加え、接続のためのFinderユーザーの名前を特定するメカニズムを提供します。

新しいFinderを開く

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

nxt://New-NxFinder

デバイスビューを表示する

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

nxt://Show-NxSource?Name=DEVICE_NAME

nxt://Show-NxSource?IpAddress=SOURCE_LAST_IP_ADDRESS

nxt://Show-NxSource?Id=DEVICE_ID

通常、デバイスビューはそのデバイスの直近24時間を表示します。 オプションとして、StartDateおよびEndDateパラメータを使用してデバイスビューの異なる日付範囲を指定します:

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

日付はUTCタイムゾーンでYYYY-MM-DDThh:mmの形式で表記する必要があります。 例:2016-04-04T12:00。 StartDateEndDateの間の期間は7日未満である必要があります。

ユーザービューを表示する

Finder内で特定のユーザーのユーザービューを開くには、このコマンドを使用します。 名前でユーザーを識別します:

nxt://Show-NxUser?Name=USER_NAME

通常、ユーザービューはそのユーザーの直近24時間を表示します。 オプションとして、上記のデバイスビューで説明されている方法で異なる日付範囲を指定します。

サービスビューを表示する

次のnxtプロトコルのコマンドは、Finder内の特定のサービスのサービスビューを開きます:

nxt://Show-NxService?name=SERVICE_NAME

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

メトリックを編集する

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

nxt://Edit-NxMetric?Name=METRIC_NAME

メトリックの名前は大文字と小文字を区別することに注意してください。

カテゴリーを編集

特定のカテゴリーを編集するためにFinderを開くには、次のコマンドでnxtプロトコルURLを作成してください:

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

CATEGORY_NAMEを編集したいカテゴリーの名前に、CATEGORY_TYPEをカテゴリーが適用されるオブジェクトのタイプに置き換えてください: application, binary, destination, device, domain, executable, package, port, または user。

キャンペーンを編集

特定のキャンペーンを編集するためにFinderを開くには、次のコマンドでnxtプロトコルURLを作成してください:

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

CAMPAIGN_NAMEを編集したいキャンペーンの名前に置き換えてください。

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

特定のリモートアクションを編集するためにFinderを開くには、次のコマンドを使用して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ではサポートされない特殊文字が含まれていることに注意してください。 これを解決するには、EncodingパラメータをUrlまたはBase64に設定して調査を適切にエンコードします(セクションEncoding the arguments of the nxt URLを参照)。 以下は、2つのフォーマットでエンコードされた同じインベスティエーションの例です。 パラメータがエンコードされていることに注意してください。

Urlエンコードの例:

nxt://Run-NxInvestigation?Encoding=Url&Host=192.168.5.5&Port=443&
InvestigationXml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-16
%22%3F%3E%3CInvestigation%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org
%2F2001%2FXMLSchema-Instance%22%20xmlns%3Axsd%3D%22http%3A%2F%2Fwww.w3.org
%2F2001%2FXMLSchema%22%20DataModelVersion%3D%228%22%20SyntaxVersion%3D%22
2%22%3E%3CLabel%3Etest%3C%2FLabel%3E%3CObject%3Esource%3C%2FObject%3E%3C
Description%20%2F%3E%3CFieldList%3E%3Cstring%3Ename%3C%2Fstring%3E%3C%2F
FieldList%3E%3CCategoryList%20%2F%3E%3CAggregateList%20%2F%3E%3C
ObjectConditionList%20%2F%3E%3C%2FInvestigation%3E

Base64エンコードの例:

nxt://Run-NxInvestigation?Encoding=Base64&Host=MTkyLjE2OC41LjU=&Port=NDQz&
InvestigationXml=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTE2Ij8+PEludmVzdGl
nYXRpb24geG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1JbnN0YW5jZSI
geG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgRGF0YU1vZGVsVmVyc2l
vbj0iOCIgU3ludGF4VmVyc2lvbj0iMiI+PExhYmVsPnRlc3Q8L0xhYmVsPjxPYmplY3Q+c291cmNlPC9
PYmplY3Q+PERlc2NyaXB0aW9uIC8+PEZpZWxkTGlzdD48c3RyaW5nPm5hbWU8L3N0cmluZz48L0ZpZWx
kTGlzdD48Q2F0ZWdvcnlMaXN0IC8+PEFnZ3JlZ2F0ZUxpc3QgLz48T2JqZWN0Q29uZGl0aW9uTGlzdCA
vPjwvSW52ZXN0aWdhdGlvbj4=

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

接続の確立

nxtプロトコルに接続の詳細を指定しない場合、Finderは現在のセッションのコンテキストでアクションを実行するか、新しいセッションを開くようにユーザーに要求し(ログインダイアログを表示)、その後にアクションを実行します。

別の方法として、URIにパラメータとして接続の詳細を指定します:

ホスト PortalのDNS名またはIPアドレス。

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

ユーザー名(オプション) 接続のためにFinderユーザーを偽装する名前。

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

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

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

V5との互換性のために、接続の詳細の代わりにセッション名をnxtプロトコルに提供することができます。 ただし、V6では、セッションはFinderとPortalの間の接続を定義します。一方、V5では、セッションはFinderとエンジンの間の接続を定義します。 そのため、マルチエンジンV6構成では、セッション名を指定するだけでは接続を完全に説明するのに十分でない場合があります。FinderはターゲットとなるPortalについては知っているが、エンジンについては知らないという状況です。 その場合、Finderは通常エンジン選択ダイアログを表示します。 このため、V6ではSessionNameパラメータは推奨されません。 特定のセッションからデバイスビューを開くには、次のURIを記述します:

特定のセッションからデバイスビューを開くには、次のURIを書いてください:

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

Finderがユーザーの資格情報を尋ねないようにするには、パスワードを保存したセッションや接続の詳細を使用します。 または、SAML認証やWindows認証を設定している場合、nxtプロトコルにUseSsoパラメータを_true_に設定して使用するように指示します:&#x20

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

SAMLまたはWindows認証を使用する場合、Portalアドレスは適切なDNS名であり、IPアドレスではない必要があることに注意してください。

Finderからnxtプロトコルリンクを作成する

nxtプロトコルリンクは非常に便利です。例えば、ダッシュボードの説明において、ダッシュボードを設定するためのオプションを提供したり(関連するメトリクスやカテゴリーを編集)、Finderに表示される補足情報でダッシュボードを補完したりすることができます。 しかしながら、nxtプロトコルのリンク作成は手間がかかる作業になる可能性があります。特に、インベスティエーションをエンコードする必要がある場合はそうです。 この作業を簡単にするために、Finderから直接いくつかのアクションに対するnxtプロトコルリンクを作成できます。

以下のアクションのためのnxtプロトコルリンクをFinderから生成します:

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

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

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

    • インベスティエーションを選んだ場合: クリップボードに調査URLを実行する 生成されるURLが2083文字を超える場合、Finderはそのようなリンクをサポートしないブラウザがあることを警告するメッセージを表示します(nxtプロトコルの制限セクション参照)。

    • カテゴリを選んだ場合: クリップボードにカテゴリーURLを編集

    • メトリックを選んだ場合: クリップボードにメトリックURLを編集

    • サービスを選んだ場合: クリップボードにサービスURLを表示

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

nxtプロトコルの制限

XML形式のインベスティエーションは非常に冗長になる可能性があります。 調査に条件を追加するほど、XMLが長くなります。 しかしながら、サポートされるnxt URLの最大長は2083文字に制限されます。 したがって、複雑なインベスティエーションを開始するためにこの方法を使用できない可能性があります。

URLの文字数の制限は、リクエストを起動するために使用するブラウザによってもさらに制限が厳しくなる可能性があることに注意してください。 例えば、Internet Explorerは最大507文字をサポートします。

nxt URLの引数のエンコード

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

Base64エンコード

可能であれば、nxt URLにはBase64エンコードを使用することをお勧めします。これはより堅牢です。 この方法は、URLエンコードで発生する可能性のある二重エンコードまたは二重デコードのシナリオを防ぎます。 この方法の欠点は、引数が人間にとって読めなくなることです。 例えば、次のURLは識別子12のデバイスをFinderに表示するよう指示します:

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

URLエンコード

URLエンコードは、Base64エンコードに対する簡単な代替手段で、限られたシナリオのサポートを確実にします。 URLエンコードは、引数の1つにスペース文字が含まれている場合などに使用できます。 実際、ブラウザによってはURL内のスペースを自動的に"%20"にエンコードします。 次のハイパーリンク:

<a href="nxt://Show-NxSource?Name=Work PC1">私のリンク</a>

このようなブラウザから呼び出されると次のように翻訳されます:

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

その結果、エンコーディングが指定されていない場合、システムは_ワーク%20PC1_という名前のデバイスを探します。_ワークPC1_ではありません。 このような問題をURLエンコードで修正する方法を次の例で示します:

<a href="nxt://Show-NxSource?Encoding=Url&Name=Work%20PC1">私のリンク</a>

情報レベル

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

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

誤ったコマンド、引数、またはエンコーディングを持つ誤ったnxt URLを呼び出すと、nxtプロトコルハンドラーはエラーメッセージを表示せずに静かに終了します。 しかし、インテグレーション中には、何が呼び出しに失敗したのか知るためにフィードバックがあると便利です。 プロトコルハンドラーにトレースリスナーをアタッチする可能性があります。

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

<?xml version="1.0"?>
<configuration>
 <system.diagnostics>
 <trace autoflush="true" indentsize="4">
 <listeners>
 <add name="FileListener"
 type="System.Diagnostics.TextWriterTraceListener"
 initializeData="DESTINATION_FILE" />
 </listeners>
 </trace>
 </system.diagnostics>
</configuration>

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

カスタムアクション

カスタムアクションを使用すると、Finderから外部操作を起動できます。 その意味で、カスタムアクションはFinderを自動化できるnxtアプリケーションプロトコルを補完するものです。

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

カスタムアクションには3つのタイプがあります:

  1. URLを開く

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

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

Finderは、Finderがインストールされたマシンにカスタムアクションをローカルに保存します。 したがって、エンジンがどれであろうと関係なく、定義されたカスタムアクションのセットが常に利用可能です。 カスタムアクションのセットをエクスポートして、異なるFinderインストール間で共有することもできます。

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

Nexthink Finderは、有用なデフォルトのカスタムアクションセットを備えています。 デフォルトのカスタムアクションを使用すると、マシンにpingを送信したり、リモートデスクトップ接続を開くことができたり、プロセス、ポート、IPに関する情報を有名なwebサイトで検索したりできます。 デフォルトのカスタムアクションセット。

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

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

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

パーセント文字「%」はカスタムアクションの実行時に選択された属性で置き換えられます。 この場合、ユーザーの名前が%文字を置き換えます。 置き換えたくない%文字をコマンドで書きたい場合は、ダブルパーセント「%%」を使用してください。 これは簡略化された例であり、我々がユーザーの名前と会社の名前を単に連結することでユーザーのメールアドレスを直接構成できると仮定していることに注意してください。 システムがアクションを実行する際にデフォルトのメール作成ツールを起動するために、mailto スキームとともにOpen URLアクションを使用しました。

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

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

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

従って、以下の例のように、一時ファイルのパスだけがプレースホルダ「%」を置き換えます。

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

オブジェクトまたはオブジェクトのセットのコンテキストメニューからカスタムアクションを呼び出すことができます。 オブジェクトは調査のリスト結果から、またはネットワークアクティビティやローカルアクティビティのビューから選択できます。 ネットワークアクティビティとローカルアクティビティのビューは、特定の種類のオブジェクトによっては使用できない場合があります。

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

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

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


関連タスク

Last updated