フロー制御条件
このセクションの内容
フロー制御条件
フロー制御条件グループには、次の条件があります。
条件 | 説明 | コンピュータ トリガー | ユーザ トリガー |
---|---|---|---|
If 条件 (および Else If 条件) | If Else グループ内の条件のコンテナが作成され、ほとんどのプログラミング言語にある If/Else If/Else ロジックを許可することで、詳細フロー制御が可能です。 | はい | はい |
カウンタ | 単一のセッションで子処理および条件が実行または評価される回数を制御するための条件。カウンタ フィールドを使用して、任意の数を選択します。追加できる最小値は1です。最大値はありません。 | はい | はい |
If 条件
If 条件は、条件のグループをまとめて構成し、交互に評価できる論理コンテナを作成します。条件のいずれかが満たされると、関連付けられた条件と処理が実行され、グループの評価が停止します。最後の既定の処理は、条件が何も満たさない場合に適用されるように構成できます。
条件は式ビルダーを使用して作成されます。式ビルダーには、既定で、If 条件と Else セクションがあります。必要に応じて、任意の Else If 条件を追加できます。
Environment Manager 2020.3では、IF/Else グループを使用する場合にノードのタイムアウト動作を制御するルールが簡素化されました。「If」または「Else」分岐で指定された遅延またはカスタム処理タイムアウトは、ノード タイムアウト値に影響します。
指定した遅延を確認することをお勧めします。
If 条件の作成
-
[ポリシー構成] ナビゲーションツリーで、新しいノードを作成するか、条件を追加する既存のノードを選択します。
If 条件は、再利用可能な条件内で作成できません。
-
[条件] リボンで、[フロー制御] > [If 条件] を選択します。
式ビルダーは [If 条件] ダイアログに表示されます。
式ビルダーは、If および Else if コンテナを作成して、ユーザまたはエンドポイントが評価される条件を構成するときに使用されます。
条件と再利用可能な条件は式ビルダーに追加され、条件がノードで作成されるときと同じダイアログを使用して、同じ方法で構成されます。任意の数の条件を、他のノードの条件に適用される同じ AND および OR ルールと、式ビルダーに追加できます。標準のルールは、適用できるトリガー条件に応じて適用されます。たとえば、ユーザ条件は、コンピュータの起動トリガで作成できません。
- [条件] または [再利用可能な条件] ドロップダウンを選択し、式ビルダーに追加する任意の条件を選択します。
- 必要に応じて、条件の [失敗時にサブノードを停止する] と [有効] チェックボックスを選択します。1つ以上の条件を有効にする必要があります。
- 他の条件を追加するには、手順3~4を繰り返します。
- 式ビルダーに説明を入力します。このテキストは、構成の最初の (If) 条件に名前を付けるために使用され、必須です。
- If グループ説明を入力します。このテキストは、構成の条件のグループに名前を付けるために使用されます。
-
[OK] をクリックします。
If Else グループは選択されたノードで作成されます。グループには、式ビルダーで構成されている If 条件と、自動的に作成される Else セクションが含まれます。
- If 条件を選択し、該当するタブから任意の処理と条件を追加します。複数の処理と条件を同じレベルで追加するか、任意の数のレベルにネストすることができます。
- Else セクションを選択し、任意の処理と条件を追加します。複数の処理と条件を同じレベルで追加するか、任意の数のレベルにネストすることができます。あるいは、セクションを空欄にすることもできます。Else セクションが空欄で、If または Else If 条件のいずれも満たされない場合、グループの処理は処理が実行されずに完了します。
-
必要に応じて、追加された処理と条件の [失敗時にサブノードを停止する] と [有効] チェックボックスを選択します。
If 条件と Else セクションは、切り取り、コピー、貼り付けできません。ただし、その中の条件と処理は、処理と条件の標準動作とて、切り取り、コピー、および貼り付けできます。
![閉じた](../../Skins/Default/Stylesheets/Images/transparent.gif)
次の構成は、既定の If Else を示します。これには、1つの If 条件と1つの Else セクションがあります。
トリガーが実行されると、グループは次のように評価されます。
- If 条件が満たされる - 関連付けられた処理が実行され、このグループの処理の評価が停止します。
- If が満たされない - この処理は無視され、Else 処理が実行されます。
- 処理が Else セクションに関連付けられていない - グループ全体で処理が実行されません。
その他の条件を If 条件と Else セクションに追加し、評価のレベルを増やすことができます。
トリガーが実行されると、グループは次のように評価されます。
- If 条件が満たされる - 子条件が評価されます。この条件が満たされると、関連付けられた処理が実行され、このグループの処理が停止します。子条件が満たされない場合に、Else セクションが評価されます。
- Else 子条件が満たされる - 関連付けられた処理が実行され、処理が停止します。
- Else 子条件が満たされない - グループ全体で処理が実行されません。
Else If 条件の作成
Else If 条件はオプションの If 条件であり、If 条件と Else セクションの間に追加できます。Else If 条件は If 条件とまったく同じように機能し、任意の数の条件と処理を適用できます。
- If または既存の Else If 条件を選択します。
- [条件] リボンで、[フロー制御] >[Else If 条件] を選択します。
- [条件] または [再利用可能な条件] ドロップダウンをクリックし、必要な条件を選択します。任意の数の条件を式ビルダーに追加できます。
- 説明を入力します。このテキストは、グループの Else If 式に名前を付けるために使用され、必須です。
-
[OK] をクリックします。
Else If 条件が作成されます。
-
Else If 条件を選択し、[処理] タブから任意の処理を追加します。必要に応じて、複数の処理を追加できます。
複数の Else If 条件を構成の同じレベルに追加できます。上記の手順を繰り返し、その他の Else If 条件を追加します。
Else If 条件は If 条件と同じように動作します。条件が満たされると、関連付けられた処理が実行され、グループの評価が停止します。条件が満たされない場合は、処理が無視され、次の Else If 条件または Else セクションが評価されます。
Else If 条件と、その中の処理と条件は、切り取り、コピー、貼り付けすることができます。
![閉じた](../../Skins/Default/Stylesheets/Images/transparent.gif)
次の例は、ログイン時にユーザ グループを評価し、C ドライブの関連するフォルダを作成します。
管理者ユーザ グループのユーザが管理対象エンドポイントにログインすると、次の評価が実行されます。
-
ユーザはユーザ グループのメンバーであるか?いいえ。
関連する処理は適用されず、次の条件が評価されます。
-
ユーザは管理者グループのメンバーであるか?はい。
その条件に関連付けられた処理が実行されます。ユーザの C ドライブで、Administrators フォルダが作成されます。条件が満たされると、このグループに対してこれ以上の評価は行われません。
開発者ユーザ グループのユーザが管理対象エンドポイントにログインすると、次の評価が実行されます。
-
ユーザはユーザ グループのメンバーであるか?いいえ。
関連する処理は適用されず、次の条件が評価されます。
-
ユーザは管理者グループのメンバーであるか?いいえ。
関連する処理は適用されず、次の条件が評価されます。
-
ユーザはパワーユーザ グループのメンバーであるか?いいえ。
関連する処理は適用されず、次の条件が評価されます。
-
ユーザは、条件で指定されたユーザ グループのいずれのメンバーではありません。
Else 処理は既定で適用されます。フォルダ Guests がユーザの C ドライブに作成されます。
[失敗時にサブノードを停止する] と If 条件
[失敗時にサブノードを停止する] オプションにより、失敗した処理は、依存する下位処理または条件を実行し続けることができなくなります。標準の [失敗時にサブノードを停止する] 動作は、If 条件内の処理と条件に適用されます。ただし、[失敗時にサブノードを停止する] は、グループ レベルまたは次のいずれかに対しては適用できません。
- If 条件
- Else if 条件
- Else セクション
これらの条件とコンテナの [失敗時にサブノードを停止する] チェックボックスは選択できません。
If 条件の削除
次の削除ルールは、If 条件に適用されます。
- If 条件はグループから削除できません
- Else セクションはグループから削除できません
- Else If 条件は削除できます。Ctrl または Shift キーを使用すると、複数の Else If 条件を削除できます。If 条件または Else セクションが選択対象の場合、削除できません。
カウンタ
カウンタ条件を使用すると、子処理および条件を1回のセッションで指定した回数だけ実行できます。 たとえば、ある処理が、セッション内でアプリケーションが使用された最初の3回だけ実行されるように設定できます。そのアプリケーションが再度実行されても、処理は実行されません。
1つのトリガーに複数のカウンタ条件が存在する場合は、階層内で一番上にある条件が子条件をすべて上書きします。
下の例では、最初の条件で定義されているとおり、すべての処理が1回実行されます。セッションあたり2回実行される子条件は無視されます。
8.0コンソールでは「フロー制御」が「1度だけ実行」条件に取って代わっていますが、カウンタを1に設定することで元に戻せます。8.0からのアップグレード時に、「1度だけ実行」条件はすべて、「フロー制御」条件に自動的にアップグレードされます。
カウンタ条件の作成
- ポリシー構成ナビゲーション ペインで、ノードを選択するか、または新しく作成します。
- カウンタ条件は、すべてのトリガーに適用できます。ただし以下のトリガーを除きます。以下のトリガーは、ユーザ セッションあたり1回だけ、またはエンドポート起動時に1回だけ実行されるためです。
- コンピュータの起動
- コンピュータ シャットダウン
- ユーザ ログオン
- ユーザ ログオフ
- 作業領域で、処理または条件を選択します。
- [条件] リボンで、[フロー制御] > [カウンタ] を選択し、子条件および処理の実行回数を選択します。追加できる最小値は1です。最大値はありません。
- [OK] をクリックします。