外部タスク
外部タスクの実行を制御します。外部タスクには、エージェント・ホストがそれらを実行する対応するプログラムを持っている限り、スクリプトおよびアプリケーションの実行が含まれます。一般的に使用されるスクリプトには、 .vbsスクリプトと.cmd スクリプトが含まれます。
外部タスク機能を使用すると、外部タスクを実行するタイミングを指定できます。これにより、ユーザー環境をより効果的に管理できます。
ヒント:
動的トークンを使用して 、Workspace Environment Management アクションを拡張し、より強力にすることができます。
外部タスク・リスト
既存の外部タスクのリスト。[ 検索 ] を使用して、リストをフィルタできます。
外部タスクを追加するには
- コンテキストメニューの [追加] コマンドを使用します。
- 「 新規外部タスク 」ダイアログのタブに詳細を入力し、 「OK」をクリックします。
フィールドとコントロール
Name:外部タスクのリストに表示される外部タスクの表示名を指定できます。
説明。外部タスクに関する追加情報を指定できます。
パス。外部タスクへのパスを指定できます。パスはユーザー環境で解決されます。以下の点について確認してください:
- ここで指定したパスは、エージェントホストと一致しています。
- エージェント・ホストには、タスクを実行するための対応するプログラムがあります。
引数。起動パラメーターまたは引数を指定できます。文字列を入力できます。文字列には、ターゲットスクリプトまたはアプリケーションに渡す引数が含まれています。[ パス ] フィールドと [ 引数 ] フィールドの使用例については、「 外部タスクの例」を参照してください。
外部タスクの状態。外部タスクを有効にするか無効にするかを制御します。無効にすると、タスクがユーザーに割り当てられている場合でも、エージェントはタスクを処理しません。
[非表示] を実行します。選択すると、タスクはバックグラウンドで実行され、ユーザーには表示されません。
1 回実行してください。選択した場合、[ Triggers ] タブで選択したオプションや、エージェントが再起動するかどうかに関係なく、WEM はタスクを 1 回だけ実行します。デフォルトではこのオプションが選択されています。
実行順序。各タスクの実行順序を指定できます。このオプションは、複数のタスクがユーザーに割り当てられており、一部のタスクが他のタスクに依存して正常に実行されている場合に便利です。デフォルトでは、値は 0 です。実行順序の値が 0 (ゼロ) のタスクが最初に実行され、次に値 1 のタスク、次に値 2 のタスクが実行されます。
タスク完了を待ちます。エージェントがタスクの完了を待機する時間を指定できます。デフォルトでは、[ 待機タイムアウト ] の値は 30 秒です。
アクションタイプ。外部タスクがどのようなアクションであるかを記述します。
ユーザーセッショントリガー。この機能を使用すると、次のセッションアクティビティを外部タスクのトリガーとして設定できます。
-
更新。ユーザーがエージェントを更新するときに外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションが選択されています。
-
再接続。エージェントが実行されているマシンにユーザーが再接続したときに、外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションが選択されています。WEM エージェントが物理 Windows デバイスにインストールされている場合、このオプションは適用されません。
-
ログオン。ユーザーのログオン時に外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションが選択されています。
-
ログオフ。ユーザーがログオフするときに外部タスクを実行するかどうかを制御します。Citrixユーザーログオンサービスが実行されていない限り、このオプションは機能しません。デフォルトでは、このオプションは選択されていません。
-
切断。エージェントが実行されているマシンからユーザーが切断したときに、外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションは選択されていません。
-
[ロック]。エージェントが実行されているマシンをユーザーがロックしたときに、外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションは選択されていません。
-
ロック解除。エージェントが実行されているマシンをユーザーがロック解除したときに、外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションは選択されていません。
切断、ロック、ロック解除のオプションを使用する場合は、次の制約を考慮してください。
-
これらのオプションの実装は Windows イベントに基づきます。環境によっては、これらのオプションが期待どおりに機能しないことがあります。たとえば、Windows 10またはWindows 11のシングルセッションVDAで実行されているデスクトップでは、切断オプションは機能しません。代わりに lock オプションを使用してください。(このシナリオでは、受け取るアクションは「ロック」です。)
-
これらのオプションは UI エージェントとともに使用することをお勧めします。2 つの理由:
- CMD エージェントでオプションを使用すると、対応するイベントが発生するたびにエージェントがユーザー環境で起動し、外部タスクが実行されるかどうかを確認します。
- 同時実行タスクシナリオでは、CMD エージェントが最適に動作しない場合があります。
ユーザープロセストリガー。この機能を使用すると、ユーザープロセスを外部タスクのトリガーとして設定できます。この機能を使用すると、特定のプロセスが実行されている場合にのみリソースを提供し、プロセスの終了時にそれらのリソースを取り消す外部タスクを定義できます。プロセスを外部タスクのトリガーとして使用すると、ログオン時またはログオフ時に外部タスクを処理する場合に比べて、ユーザー環境をより正確に管理できます。
-
この機能を使用する前に、次の前提条件が満たされていることを確認してください。
- WEM エージェントが起動し、UI モードで実行されます。
- 指定されたプロセスは、ログオンユーザーと同じユーザーセッションで実行されます。
- 構成された外部タスクを最新の状態に保つには、[ 詳細設定] > [構成] > [詳細オプション ] タブで [ 自動更新を有効にする ] を選択してください。
-
プロセスの開始時に実行します。指定したプロセスの開始時に外部タスクを実行するかどうかを制御します。
-
プロセスが終了したときに実行します。指定したプロセスの終了時に外部タスクを実行するかどうかを制御します。
トラブルシューティング
この機能を有効にすると、WEM エージェントは、 ユーザが初めてログオフしたときにCitrix WEM Agent Logoff.log
という名前のログファイルを作成します。ログファイルは、ユーザーのプロファイルルートフォルダーにあります。WEM エージェントは、ユーザーがログオフするたびに情報をログファイルに書き込みます。この情報は、外部タスクに関連する問題の監視とトラブルシューティングに役立ちます。
外部タスクの例
スクリプト(PowerShell スクリプトなど)の場合:
- フォルダパスもスクリプト名にも空白文字が含まれていない場合は、次のようにします。
- [ パス ] フィールドに、次のように入力します:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
。 - [ 引数 ] フィールドに、次のように入力します:
C:\<folder path>\<script name>.ps1
。
または、[パス] フィールドにスクリプトファイルへのパスを直接入力することもできます 。例:
C:\<folder path>\<script name>.ps1
。[ 引数 ] フィールドで、必要に応じて引数を指定します。ただし、スクリプトファイルを実行するか、別のプログラムで開くかは、ユーザー環境で構成されたファイルタイプの関連付けによって異なります。ファイルタイプの関連付けの詳細については、「 ファイルの関連付け」を参照してください。 - [ パス ] フィールドに、次のように入力します:
- フォルダパスまたはスクリプト名に空白文字が含まれている場合は、次の操作を行います。
- [ パス ] フィールドに、次のように入力します:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
。 - [ 引数 ] フィールドに、次のように入力します:
-file C:\<folder path>\<script name>.ps1
。
- [ パス ] フィールドに、次のように入力します:
アプリケーション (iexplore.exe など) の場合:
- [ パス ] フィールドに、次のように入力します:
C:\Program Files\"Internet Explorer"\iexplore.exe
。 - [ 引数 ] フィールドに、Web サイトの URL を入力して開きます:
https://docs.citrix.com/
。