スクリプト化されたルール

スクリプト化されたルールを使用すると、PowerShell または VBScript を使用した、複雑な要件を満たすカスタム ルールを作成できます。 スクリプト化されたさまざまな条件に基づいてアプリケーションを動的に許可、ブロック、または昇格でき、アプリケーションの動作を強力かつ柔軟に制御できます。

スクリプト化されたルールでは、COM (コンポーネント オブジェクト モデル) など、PowerShell または VBScript 経由でアクセス可能なすべてのインターフェイスを利用でき、各スクリプトは次の状況で評価されます。

  • 新しい構成がコンピュータに配布されたとき

  • ユーザがログオンしたとき

スクリプト化されたルールの構成

スクリプト化されたルールは、[これをいつ割り当てますか?] ページでアプリケーション コントロール ルールを設定するときに構成できます。 スクリプト化されたルールを構成するには、次の手順に従います。

  1. [これをいつ割り当てますか?] ページで、[ソースを選択] ドロップダウン リストから [スクリプト化] オプションを選択します。
    [スクリプト] タブが表示されます。

  2. スクリプトの名前を指定します。

  3. [スクリプト言語] ドロップダウン リストで、要件に基づいて PowerShell または VBScript オプションを選択します。
    スクリプトの使用の詳細については、次のセクションをご参照ください。

  4. [入力関数] ドロップダウン リストで、ScriptedRule を選択します。

    [入力関数] オプションは、VBScript でのみ使用できます。

  5. [スクリプト] フィールドに、PowerShell または VBScript を追加します。

  6. [オプション] タブに移動し、スクリプトの実行とタイムアウトを構成します。

  7. [オプション] タブで、次のように [実行タイプ] ドロップダウン リストからスクリプト実行方法を選択します。

    • ユーザとしてセッションごと: ログオンした各ユーザに対してスクリプトが実行されることを指定します。 設定は、ユーザ セッションの期間にのみ適用されます。 デスクトップがロック解除された場合にもスクリプトが実行されます。

    • システムとしてセッションごと: ログオンした各ユーザに対してスクリプトがシステム アカウント権限で1回実行されることを指定します。 設定は、ユーザ セッションの期間にのみ適用されます。

    • システムとしてコンピュータごと: コンピュータ起動時に一度、スクリプトがシステム アカウント権限で実行されることを指定します。 設定は、コンピュータが再起動するまで、Application Control エージェントが再起動するまで、または構成変更があるまで、すべてのユーザ セッションに適用されます。

  8. ユーザ ログオンが完了するまでスクリプトが実行されないようにするには、[ユーザ ログインが完了するまでスクリプトを実行しない] オプションを有効にします。

  9. スクリプトがタイムアウトするまではスクリプトの実行が続行されるようにするには、[スクリプトのタイムアウトを待機する秒数] に時間を指定します。 ゼロ (0) 秒に設定すると、スクリプトはタイムアウトしません。 タイムアウトが発生した場合、結果は失敗し、設定を適用できません。

  10. [追加] をクリックします。