スクリプト化されたルール
スクリプト化されたルールを使用すると、PowerShell または VBScript を使用した、複雑な要件を満たすカスタム ルールを作成できます。 スクリプト化されたさまざまな条件に基づいてアプリケーションを動的に許可、ブロック、または昇格でき、アプリケーションの動作を強力かつ柔軟に制御できます。
スクリプト化されたルールでは、COM (コンポーネント オブジェクト モデル) など、PowerShell または VBScript 経由でアクセス可能なすべてのインターフェイスを利用でき、各スクリプトは次の状況で評価されます。
-
新しい構成がコンピュータに配布されたとき
-
ユーザがログオンしたとき
スクリプト化されたルールの構成
スクリプト化されたルールは、[これをいつ割り当てますか?] ページでアプリケーション コントロール ルールを設定するときに構成できます。 スクリプト化されたルールを構成するには、次の手順に従います。
-
[これをいつ割り当てますか?] ページで、[ソースを選択] ドロップダウン リストから [スクリプト化] オプションを選択します。
[スクリプト] タブが表示されます。 -
スクリプトの名前を指定します。
-
[スクリプト言語] ドロップダウン リストで、要件に基づいて PowerShell または VBScript オプションを選択します。
スクリプトの使用の詳細については、次のセクションをご参照ください。
PowerShell スクリプト
スクリプトが値0を返した (終了した) 場合、スクリプトは合格であり、ルールが適用されます。 ゼロ以外の値が返された場合、スクリプトは失敗であり、ルールは適用されません。
各 PowerShell スクリプトは PowerShell.exe のインスタンスで実行されるため、Application Control は特定の構文を強制も追加もしません。正しく形成された PowerShell はすべて機能します。
PowerShell は、スクリプトを使用するすべてのエンドポイントにインストールする必要があります。
VBScript
各スクリプトはホストされたスクリプト エンジン内で実行され、高度な入出力制御を提供しながら、スクリプト実行をより細かく制御できます。
-
VBS ファイルは使用されません。
-
個別のプロセスは生成されません。
スクリプトは1つの関数として作成する必要があり、多くの関数を含めることができますが、メインの開始関数を指定しておく必要があります。 開始関数は Application Control エージェントによって実行され、他の関数を呼び出すために使用できます。
AMScriptRule COM オブジェクトはスクリプト エンジンに組み込まれ、次のメソッドへのアクセスを提供します。
-
strUsername = AMScriptRule.UserName
-
strUserdomain = AMScriptRule.UserDomain
-
strSessionid = AMScriptRule.SessionID
-
strStationname = AMScriptRule.WinStation
このインスタンスの Microsoft 標準は、WinStation が、ウィンドウ ステーション名 (通常は WinSta0) ではなく、セッションのタイプによって決まるターミナル サービス セッションの名前値 (通常は「Console」や「RDP-Tcp#34」) を返すことを意味します。
AMScriptRule COM オブジェクトには、次のメソッドも含まれています。
-
strLog = AMScriptRule.Log "My Log Statement"
ログ文字列をエージェント ログ ファイルに出力して、スクリプト化されたルールのデバッグで使用できるようにします。
-
strEnvironmentvar = AMScriptRule.ExpandEnvironment ("%MyEnvironmentVariables%")
スクリプトを実行しているユーザの環境変数を展開します。
WScript. シェルを使用して環境変数を展開すると、システム変数のみが返されます。
-
-
[入力関数] ドロップダウン リストで、ScriptedRule を選択します。
[入力関数] オプションは、VBScript でのみ使用できます。
-
[スクリプト] フィールドに、PowerShell または VBScript を追加します。
-
[オプション] タブに移動し、スクリプトの実行とタイムアウトを構成します。
-
[オプション] タブで、次のように [実行タイプ] ドロップダウン リストからスクリプト実行方法を選択します。
-
ユーザとしてセッションごと: ログオンした各ユーザに対してスクリプトが実行されることを指定します。 設定は、ユーザ セッションの期間にのみ適用されます。 デスクトップがロック解除された場合にもスクリプトが実行されます。
-
システムとしてセッションごと: ログオンした各ユーザに対してスクリプトがシステム アカウント権限で1回実行されることを指定します。 設定は、ユーザ セッションの期間にのみ適用されます。
-
システムとしてコンピュータごと: コンピュータ起動時に一度、スクリプトがシステム アカウント権限で実行されることを指定します。 設定は、コンピュータが再起動するまで、Application Control エージェントが再起動するまで、または構成変更があるまで、すべてのユーザ セッションに適用されます。
-
-
ユーザ ログオンが完了するまでスクリプトが実行されないようにするには、[ユーザ ログインが完了するまでスクリプトを実行しない] オプションを有効にします。
-
スクリプトがタイムアウトするまではスクリプトの実行が続行されるようにするには、[スクリプトのタイムアウトを待機する秒数] に時間を指定します。 ゼロ (0) 秒に設定すると、スクリプトはタイムアウトしません。 タイムアウトが発生した場合、結果は失敗し、設定を適用できません。
-
[追加] をクリックします。