スクリプト化された条件

このセクションの内容

スクリプト化された条件

スクリプト化された条件を使用して、VBScript、JScript、および PowerShell を使用して、条件を作成、インポート、エクスポートします。スクリプト化された条件を使用して、Application Control コンソールで標準として使用できないシナリオに対応できます。たとえば、Windows ファイアウォールがオンかどうかを確認します。

このスクリプトは AAMP 構成で保持され、実行時にディスクにコピーされてから、完了時に削除されます。再利用できるように、スクリプトをインポートし、エクスポートできます。

注意:大きいスクリプトやスクリプトの数が多いと、AAMP 構成のサイズが大きくなり、構成をエンドポイントに配布するために必要な時間に影響し、構成時間に影響する可能性があります。

条件スクリプトはバッチ モードで実行されるため、プロンプトまたはメッセージボックスは表示されず、実行せずにスクリプトがタイムアウトします。条件スクリプトの正常な実行を保証するには、スクリプトのプロンプトまたはメッセージボックスを削除するかコメントにします。

スクリプト化された条件を作成するときには、スクリプトを実行し、他の条件が評価される十分な時間があることを確認します。Application Control では、カスタム ルールの条件を評価するタイムアウトが10秒です。10秒以内にすべての条件が評価されない場合、カスタム ルールは適用されません。また、条件は同期的に評価されます。つまり、式の評価がトリガされると、エージェントは、次の条件を評価する前に、スクリプトの完了を待機します。エージェントは、すべての条件が完了するか、タイムアウトするまで、カスタム ルールの適用を停止します。このため、スクリプト化された条件を10秒未満実行するように構成した場合、評価する他の条件があり、十分な時間が残っていない場合は、評価がタイムアウトする可能性があります。

Windows PowerShell スクリプトはさまざまな実行ポリシーを使用します。これは、スクリプトの実行を防止したり、信頼できる発行元が署名したスクリプトの実行のみを許可したりすることができます。Application Control は実行ポリシーを上書きし、制限をバイパスして、PowerShell スクリプトの実行を可能にします。

Application Control は PowerShell バージョン2.0以降と互換性があります。
必要なバージョンは使用しているオペレーティング システムによって異なります。Windows XP および Server 2003では PowerShell 2.0が必要です。Windows Server 2008 R2 SP1 x64および Windows 7 SP1では PowerShell 3.0が必要です。最新のオペレーティング システムでは PowerShell 3.0以降が必要です。

Exit コード

スクリプト化された条件のすべてのスクリプトは、終了コードを指定する必要があります。これは、返されるときに、Application Control エージェントによって使用され、スクリプトが成功したか失敗したかどうかを決定します。exit コードがないスクリプトの場合、成功 (0値) がエージェントによって想定されます。

各スクリプト タイプは特定の exit 文を使用する必要があります。

言語

Exit 文

VBScript

WScript.Quit [value]

JScript

WScript.Quit([value])

PowerShell

exit ([value])

[value] はスクリプトの exit コードで置換します。0は成功、1は失敗です。例:WScript.Quit 0, WScript.Quit(0), exit (0)Powershell スクリプトでは、ゼロ以外の値は失敗を示します。

スクリプト化された条件の作成

  1. カスタム ルールのノードを選択します。
  2. ルールの作業領域で、[条件] ドロップダウンメニューを開き、[スクリプト] を選択します。

    [スクリプト化された条件] ダイアログが表示されます。

  3. スクリプトのタイプを選択します。PowerShellVBScript または JScript
  4. [実行時間] スクロールボックで、スクリプトが実行できる時間を設定します。

    この秒数の後に、スクリプトが終了します。入力可能な最大値は10秒です。値をゼロにするか、フィールドを空欄にすると、スクリプト実行時間が無限に設定されます。ただし、スクリプトが評価タイムアウトの10秒を過ぎると、タイムアウトし、カスタム ルールは適用されません。

    スクリプト化された条件は既定のノードおよび条件ルールよりも優先されますが、条件を評価するためのタイムアウトの10秒は無効になりません。この値はハードコーディングされています。

  5. [オプション] ドロップダウンをクリックし、必要に応じて、次のオプションを構成します。
    • セッションごとに1回評価する - このオプションを選択すると、条件を1回実行し、セッション中に結果をキャッシュに保存します。そうでない場合、構成で呼び出されるたびに、条件が評価されます。
    • Run As システム ユーザ - このオプションを選択すると、現在のログオン ユーザはアクセスできない機能がスクリプトで使用できます。
  6. 次の方法のいずれかを使用してスクリプトを入力します。
    • 直接フィールドに入力する
    • 別の場所からドラッグするか、コピーして貼り付ける
    • インポート ボタンをクリックして、開くファイルを選択し、スクリプト フィールドで使用する
  7. [OK] をクリックして、スクリプトを保存します。

トリガされると、スクリプトは完了するまで実行し、条件の結果の成功または失敗がデバッグ ログファイルに詳細に出力されます。

タイムアウトしたスクリプトは失敗に分類され、子ノードおよび関連付けられた処理は実行します。

条件スクリプトのエクスポート

[スクリプト化された条件] ダイアログからスクリプトをエクスポートして保存し、他の条件おび構成にインポートできます。

  1. エクスポート ボタンをクリックし、ファイルを保存する場所を選択します。
  2. [保存] をクリックすると、エクスポートを完了します。

関連トピック