外部タスク
外部タスクの実行を制御します。外部タスクには、エージェントホストがそれらを実行するための対応するプログラムを持っている限り、スクリプトやアプリケーションの実行が含まれます。一般的に使用されるスクリプトには、.vbs および .cmd スクリプトがあります。
外部タスク機能を使用すると、外部タスクを実行するタイミングを指定できます。これにより、ユーザー環境をより効果的に管理できます。
ヒント:
動的トークン を使用して、Workspace Environment Management のアクションを拡張し、より強力にすることができます。
外部タスクリスト
既存の外部タスクのリストです。検索を使用してリストをフィルタリングできます。
外部タスクを追加するには
-
コンテキストメニューの 追加 コマンドを使用します。
-
新しい外部タスクダイアログのタブに詳細を入力し、OK をクリックします。
フィールドとコントロール
名前。外部タスクの表示名を指定します。これは外部タスクリストに表示されます。
説明。外部タスクに関する追加情報を指定します。
パス。外部タスクへのパスを指定します。パスはユーザー環境で解決されます。以下を確認してください。
-
ここで指定したパスがエージェントホストと一致していること。
-
エージェントホストには、タスクを実行するための対応するプログラムがあります。
引数。起動パラメーターまたは引数を指定できます。文字列を入力できます。文字列には、ターゲットスクリプトまたはアプリケーションに渡す引数が含まれます。パスフィールドと引数フィールドの使用例については、「外部タスクの例」を参照してください。
外部タスクの状態。外部タスクを有効にするか無効にするかを制御します。無効にすると、タスクがユーザーに割り当てられていても、エージェントはタスクを処理しません。
非表示で実行。選択すると、タスクはバックグラウンドで実行され、ユーザーには表示されません。
1回実行。選択すると、WEM はトリガータブでどのオプションを選択したか、およびエージェントが再起動するかどうかに関係なく、タスクを1回だけ実行します。デフォルトでは、このオプションが選択されています。
実行順序。各タスクの実行順序を指定できます。このオプションは、複数のタスクがユーザーに割り当てられており、それらのタスクの一部が他のタスクの正常な実行に依存している場合に役立ちます。デフォルトでは、値は0です。実行順序の値が0のタスクが最初に実行され、次に値が1のタスク、次に値が2のタスクというように実行されます。
タスク完了を待機。エージェントがタスクの完了を待機する時間を指定できます。デフォルトでは、待機タイムアウト値は30秒です。
アクションの種類。外部タスクがどのような種類のアクションであるかを記述します。
ユーザーセッショントリガー。この機能を使用すると、次のセッションアクティビティを外部タスクのトリガーとして構成できます。
-
更新。ユーザーがエージェントを更新したときに外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションが選択されています。
-
再接続。ユーザーがエージェントが実行されているマシンに再接続したときに外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションが選択されています。WEM エージェントが物理 Windows デバイスにインストールされている場合、このオプションは適用されません。
-
ログオン。ユーザーがログオンしたときに外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションが選択されています。
-
ログオフ。ユーザーがログオフしたときに外部タスクを実行するかどうかを制御します。このオプションは、Citrix User Logon Service が実行されていない限り機能しません。デフォルトでは、このオプションは選択されていません。
-
切断。ユーザーがエージェントが実行されているマシンから切断したときに外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションは選択されていません。
-
ロック。エージェントが実行されているマシンをユーザーがロックしたときに、外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションは選択されていません。
-
ロック解除。エージェントが実行されているマシンをユーザーがロック解除したときに、外部タスクを実行するかどうかを制御します。デフォルトでは、このオプションは選択されていません。
切断、ロック、ロック解除オプションを使用する場合は、以下の制約事項を考慮してください。
-
これらのオプションの実装は、Windowsイベントに基づいています。一部の環境では、これらのオプションが期待どおりに機能しない場合があります。たとえば、Windows 10またはWindows 11のシングルセッションVDAで実行されているデスクトップでは、切断オプションは機能しません。代わりに、ロックオプションを使用してください。(このシナリオでは、受信するアクションは「ロック」です。)
-
これらのオプションはUIエージェントで使用することをお勧めします。理由は2つあります。
-
CMDエージェントでこれらのオプションを使用すると、対応するイベントが発生するたびに、外部タスクが実行されるかどうかを確認するために、エージェントがユーザー環境で起動します。
-
CMDエージェントは、同時タスクのシナリオでは最適に機能しない可能性があります。
-
ユーザープロセスによるトリガー。この機能を使用すると、ユーザープロセスを外部タスクのトリガーとして構成できます。この機能を使用すると、特定のプロセスが実行されている場合にのみリソースを提供する外部タスクを定義し、プロセスが終了したときにそれらのリソースを取り消すことができます。外部タスクのトリガーとしてプロセスを使用すると、ログオン時またはログオフ時に外部タスクを処理する場合と比較して、ユーザー環境をより正確に管理できます。
-
この機能を使用する前に、以下の前提条件が満たされていることを確認してください。
-
WEMエージェントがUIモードで起動および実行されます。
-
指定されたプロセスが、ログオンしているユーザーと同じユーザーセッションで実行されます。
-
構成された外部タスクを最新の状態に保つには、「Advanced Settings > Configuration > Advanced Options」タブで「Enable Automatic Refresh」を必ず選択してください。
-
-
プロセス開始時に実行。指定されたプロセスが開始したときに、外部タスクを実行するかどうかを制御します。
-
プロセス終了時に実行。指定されたプロセスが終了したときに、外部タスクを実行するかどうかを制御します。
トラブルシューティング
この機能を有効にすると、ユーザーが初めてログオフしたときに、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/。