ディスカバリーへの PowerShell リモートの使用
プローブ開発者は、PowerShell リモート実行フレームワークを使用して、ターゲットデバイス上のスクリプトのリモート実行を自動的に処理することができます。統合フレームワークは、リモート実行の不整合を解消し、効率を高め、安定性を向上させます。
要件
- MID サーバーは、ターゲットのネットワーク共有を読み書きできる必要があります。
- リモートターゲットには、PowerShell 3 以上 (最大 5.1) が必要です。
- リモートターゲットにスクリプトをコピーするために WinRM または WMI を使用する MID サーバーの場合は、MachinePolicy と UserPolicy スコーピングを Undefined に設定する必要があります。スクリプトがコピーされない場合、実行ポリシーは Restrictive までの他の任意の設定となります。
詳細については、「PowerShell を使用するための MID サーバーの設定」を参照してください。
アプリケーションディスカバリー
PowerShell リモート実行フレームワークには、スキャンの実行時にファイルをリモートターゲットにコピーするためのオプションがあります。ファイルをターゲットにコピーすることは、Windows - File ディスカバリーのようなプローブでは重要です。これは、スクリプトが をリモートターゲットで起動して、新しいプロセスを開始するためです。WMI を使用してスクリプトをリモート実行する MID サーバーでは、スクリプトが長すぎると launchProcess エラーが発生する可能性があります。リモートターゲットにスクリプトをコピーすると、このエラーが解決されます。スクリプトをリモートターゲットにコピーすると、ターゲットのアンチウイルスソフトウェアがスクリプトにフラグを設定する可能性があります。ウイルス対策ソフトウェアの問題を回避するには、ウイルス対策アプリの許可リストにスクリプトを追加します。
プローブ設定
以下は、Windows - ADM マルチプローブに含まれている、Windows - Active Connections プローブの設定ページです。
[スクリプトをリモート実行] チェックボックスは、ECC キュートピックが WMIRunner または PowerShell の場合に表示されます。オンにした場合、スクリプトはリモートターゲットで実行されます。そうでない場合、スクリプトは MID サーバーで実行されます。
[ターゲットにスクリプトをコピー] チェックボックスは、[リモートでスクリプトを実行] をオンにすると表示されます。[ターゲットにスクリプトをコピー] がオンになっている場合、スクリプトはターゲットにコピーされ、ターゲットで実行されます。[ターゲットにスクリプトをコピー] がオンになっていない場合、スクリプトはコピーされずにターゲットで実行されます。
PowerShell プローブ開発
PowerShell リモート実行フレームワークは、リモートターゲットサーバーで、プローブパラメーターに含まれる PowerShell スクリプトを実行するための統一された方法です。フレームワークを使用すると、プローブ開発者が独自にリモート実行コードを作成しなければならず、そのために開発者間で不整合が発生するという状況を回避できます。リモート実行フレームワークがリモートスクリプトの実行を自動的に処理するため、プローブ開発者は、プローブが情報をローカルに収集している場合と同じようにスクリプトを記述します。
フレームワークは、MID サーバーが WMI と WinRM のどちらを使用するように設定されているかにかかわらず、リモート実行を処理します。MID サーバーが WMI 用に設定されている場合、プローブは launchProcess を使用してリモートターゲット上でコマンドを実行します。launchProcess を使用すると、リモート実行が複雑になり、障害の原因となる可能性があります。ただし、WinRM 用に構成された MID サーバーでは launchProcess は使用しないため、効率性と安定性が向上します。