カスタム条件
このセクションの内容
カスタム条件
PowerShell、Visual Basic、または Java Script を使用して、条件を作成、インポート、およびエクスポートするカスタム条件を使用します。カスタム条件を使用して、Environment Manager コンソールで標準として使用できないシナリオに対応できます。たとえば、Windows ファイアウォールがオンかどうかを確認します。
このスクリプトは AEMP 構成で保持され、実行時にディスクにコピーされてから、完了時に削除されます。再利用できるように、スクリプトをインポートし、エクスポートできます。
大きいスクリプトやスクリプトの数が多いと、AEMP 構成のサイズが大きくなり、構成をエンドポイントに配布するために必要な時間に影響し、構成時間に影響する可能性があります。
PowerShell スクリプトを使用するカスタム条件はログオン トリガーで使用しないことをお勧めします。これらのスクリプトを実行すると、ログオン時間がかかる場合があります。
カスタム条件スクリプトはバッチ モードで実行されるカスタムプロンプトまたはメッセージボックスは表示されず、実行せずにスクリプトがタイムアウトします。条件スクリプトの正常な実行を保証するには、スクリプトのプロンプトまたはメッセージボックスを削除するかコメントにします。
カスタム条件は、コンピュータ トリガーとユーザ トリガーの両方に適用できます。
Exit コード
すべてのカスタムスクリプトは exit コードコードを指定する必要があります。これは、返されるときに、Environment Manager エージェントによって使用され、スクリプトが成功したか失敗したかどうかを決定します。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 スクリプト
Windows PowerShell スクリプトはさまざまな実行ポリシーを使用します。これは、スクリプトの実行を防止したり、信頼できる発行元が署名したスクリプトの実行のみを許可したりすることができます。Environment Manager は実行ポリシーを上書きし、制限をバイパスして、PowerShell スクリプトの実行を可能にします。
すべての PowerShell 実行ポリシーを上書きするグループ ポリシーでも、ユーザとコンピュータの実行ポリシーを設定できます。スクリプトを許可しないユーザ ポリシー、または署名されているユーザ ポリシーは、System で実行した場合、PowerShell カスタム条件の実行に影響しません。ただし、現在のユーザで実行する場合は、ユーザ ポリシーによって、スクリプトが許可されず、カスタム条件が失敗します。スクリプトを許可しないコンピュータ ポリシー、または署名されているコンピュータ ポリシーは、PowerShell カスタム条件の実行を許可しません。
このため、PowerShell を使用するカスタム条件を正常に実行するには、ユーザとコンピュータに対してこれらのスクリプトを実行できるように、グループ ポリシーを設定する必要があります。
Environment Manager は PowerShell 1.0、2.0、3.0に対応します。
カスタム条件の作成
- [ポリシー構成] ナビゲーションツリーで、条件を追加するノードまたはトリガを選択します。次の項目にすることができます。
- 新しいノード
- 既存のノード
- トリガの [環境] タブ
- [条件] リボンで、[カスタム] を選択すると、[カスタム条件] ダイアログが表示されます。
- PowerShell、VBScript、JScript から、スクリプトのタイプを選択します。
-
実行が許可される時間を設定します。この秒数の後に、スクリプトが終了します。値をゼロにするか、フィールドを空欄にすると、スクリプト実行時間が無限に設定されます。
カスタム条件は既定のノードおよび条件タイムアウトを無効にします。
- [オプション] ドロップダウンをクリックし、必要に応じて、次のオプションを構成します。
- セッションごとに1回評価する - このオプションを選択すると、条件を1回実行し、セッション中に結果をキャッシュに保存します。そうでない場合、構成で呼び出されるたびに、条件が評価されます。
- 実行 システム ユーザ - このオプションを選択すると、現在のログオン ユーザはアクセスできない機能がスクリプトで使用できます。ユーザ トリガーでは、このオプションが選択されていないと、スクリプトはログオン ユーザのコンテキストで実行されます。
- 次の方法のいずれかを使用してスクリプトを入力します。
- 直接フィールドに入力する
- 別の場所からドラッグするか、コピーして貼り付ける
インポート ボタンをクリックして、開くファイルを選択し、スクリプト フィールドで使用する
セッション変数は、[挿入] メニューからスクリプトに追加できます。ドロップダウンには、ユーザが定義したセッション変数と次の定義済み変数が表示されます。
- SessionID - 現在のセッション ID
- UserSID - ユーザのセキュリティ ID
- UserTemp - ユーザの一時ディレクトリの場所
- 利用可能なネットワーク、ネットワーク接続およびネットワーク切断トリガーでは、その他のビルトイン セッション変数をスクリプトに追加し、接続属性を決定できます。これらのビルトイン セッション変数は、修正も削除もできません。
- [OK] をクリックして、スクリプトを保存します。
トリガされると、スクリプトは完了するまで実行し、条件の結果の成功または失敗がデバッグ ログファイルに詳細に出力されます。
タイムアウトしたスクリプトは失敗に分類され、子ノードおよび関連付けられた処理は実行します。
カスタムスクリプトのエクスポート
[カスタム処理] ダイアログからスクリプトをエクスポートして保存し、他の条件おび構成にインポートできます。
- カスタム条件を開きます。
- [エクスポート] ボタンをクリックし、PowerShell、VBS、CSS ファイルを保存する場所を選択します。
- [保存] をクリックすると、エクスポートを完了します。