外部タスク

最終公開日 : Nov 13, 2026
外部タスクの実行を制御します。外部タスクには、エージェントホストがそれらを実行するための対応するプログラムを持っている限り、スクリプトやアプリケーションの実行が含まれます。一般的に使用されるスクリプトには、.vbs および .cmd スクリプトがあります。
外部タスク機能を使用すると、外部タスクを実行するタイミングを指定できます。これにより、ユーザー環境をより効果的に管理できます。
ヒント:
動的トークン を使用して、Workspace Environment Management のアクションを拡張し、より強力にすることができます。

外部タスクリスト

既存の外部タスクのリストです。検索を使用してリストをフィルタリングできます。

外部タスクを追加するには

  1. コンテキストメニューの 追加 コマンドを使用します。
  2. 新しい外部タスクダイアログのタブに詳細を入力し、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モードで起動し、実行されます。
    • 指定されたプロセスは、ログオンしているユーザーと同じユーザーセッションで実行されます。
    • 構成された外部タスクを最新の状態に保つには、 > > タブで を必ず選択してください。
  • プロセス開始時に実行。指定されたプロセスが開始したときに、外部タスクを実行するかどうかを制御します。
  • プロセス終了時に実行。指定されたプロセスが終了したときに、外部タスクを実行するかどうかを制御します。

トラブルシューティング

この機能を有効にすると、ユーザーが最初にログオフしたときに、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/。