スクリプト化されたタスクのスクリプト

最終公開日 : Nov 13, 2026

はじめに

このページでは、WEMエージェントで自動化または実行できるスクリプトを管理できます。スクリプトは次のカテゴリに分類されます。
  • 一般的なVDA管理およびトラブルシューティングのニーズに対応する、すぐに使用できるスクリプト。
  • カスタムスクリプト
    環境固有の自動化および運用要件のために管理者が作成したスクリプト。
注:
スクリプトから自動タスクを構成するには、構成セットのスクリプト化されたタスクに移動します。

カスタムスクリプトの追加

スクリプト化されたタスクページには、すべての組み込みスクリプトと、ユーザーまたは他の管理者が作成したカスタムスクリプトが一覧表示されます。必要に応じて、要件を満たすためにカスタムスクリプトを追加できます。

始める前に

WEM Webコンソールでカスタムスクリプトを作成する前に:
  • スクリプトコンテンツの作成
    要件に基づいてPowerShellスクリプトを作成します。
  • スクリプトコンテンツの検証とエクスポート
    Citrix Environment Tool Hub > Scripted Task Validatorツールを使用してスクリプトを実行し、実行結果を確認します。必要に応じて、後でWEM Webコンソールにインポートするためにスクリプトをエクスポートできます。
    詳細については、「スクリプト化されたタスクの検証とエクスポート」を参照してください。

ワークフロー

カスタムスクリプトを追加するには、次の手順を実行します。
  1. 「スクリプトタスク」ページで、「スクリプトの追加」をクリックします。
  2. 「スクリプトの追加」ウィザードで、次の設定を構成し、「保存」をクリックします。
    • スクリプト名。スクリプトの名前を指定します。
    • タグ。既存のタグから選択するか、コンマで区切ってタグを入力します。タグは20文字以内である必要があります。タグはキーワードまたはラベルのようなものです。タグを使用すると、新しい方法でスクリプトを識別できます。また、フィルターとして機能し、重要な基準に応じてスクリプトの表示を再配置できます。好きなだけタグを使用できます。
    • 説明。オプションで、スクリプトを識別するのに役立つ追加情報を指定します。
    • ファイルの種類。スクリプトのファイルの種類を選択します。次の2種類のファイルがサポートされています。
      • PowerShell。個別のPowerShellスクリプトファイル。
      • ZIP。複数のファイルを1つのzipファイルにバンドルしたもの。10 MBを超えるzipファイルはサポートされていません。zipファイルをアップロードした後、スクリプトの開始時に実行するファイルを示すエントリポイントを指定します。エントリポイントファイルは、フォルダー構造内で3レベルより深くならないようにしてください。
    • ファイルのアップロード。「参照」をクリックし、ファイルに移動して選択し、「開く」をクリックします。「スクリプトの追加」ウィザードに戻ります。
      ヒント:
      スクリプトをアップロードする方法は2つあります。
      • Webコンソールマシンにすでに配置した.zipファイルを選択します。
      • Scripted Task Validatorツールでスクリプトをエクスポートすると、コンテンツは自動的にクリップボードにコピーされます。「スクリプトの追加」ページで、クリップボードから直接コンテンツを貼り付けます (<Ctrl+V>)。この方法により、Webコンソールマシンに.zipファイルを保存する必要がなくなります。
    • 権限の付与。スクリプトに付与するアクセスレベルを指定します。各オプションに関連付けられている権限を理解していることを確認してください。
      • フルアクセス。フルアクセスが割り当てられたスクリプトは、広範なローカルアクセスを持ちます。選択した場合、スクリプトはローカルシステムアカウントで実行されるかのように権限が付与されます。
      • 制限付きアクセス(ネットワークアクセスあり)。制限付きアクセス(ネットワークアクセスあり)が割り当てられたスクリプトは、広範なローカルアクセス権を持ちませんが、ネットワークリソースにアクセスできます。選択した場合、スクリプトはネットワークサービスアカウントで実行されているかのように権限が付与されます。
      • 制限付きアクセス(ネットワークアクセスなし)。制限付きアクセス(ネットワークアクセスなし)が割り当てられたスクリプトは、広範なローカルアクセス権を持たず、ネットワークリソースにアクセスできません。選択した場合、スクリプトはローカルサービスアカウントで実行されているかのように権限が付与されます。
      • ログオンユーザーとして実行。選択した場合、スクリプトはログオンしているユーザーのセッションのコンテキストで実行され、ユーザーセッションがアクティブであるか切断されているかに関わらず、同じ権限が付与されます。
      詳細については、Microsoftのドキュメント <https://docs.microsoft.com/ja-jp/windows/security/identity-protection/access-control/security-identifiers#well-known-sids> を参照してください。
    • 作業フォルダー。オプションで、エンドユーザーのオペレーティングシステム上のローカルフォルダーの絶対パスを入力します。作業フォルダーは、ファイルが起動するときの現在のフォルダーです。環境変数(例: %ProgramFiles%)を使用してパスを構築できます。指定しない場合、$PSScriptRoot がデフォルトの作業フォルダーとして使用されます。$PSScriptRoot の詳細については、Microsoftのドキュメント <https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.1> を参照してください。
    • このタスクは出力ファイルを生成しますか。追加するスクリプトが出力ファイルを生成するかどうかを選択します。
    • 出力パス。ファイルが存在するフォルダーに対する相対パスを入力します。パスにはファイル名とファイル名拡張子を含める必要があります。例: output\report.txt。

スクリプトの管理

必要に応じてスクリプトを管理できます。利用可能なアクションは次のとおりです。

スクリプトの編集

スクリプトを編集するには、次の手順を実行します。
  1. 「スクリプト化されたタスク」ページで、スクリプトを見つけます。必要に応じて、検索ボックスまたはタグを使用してすばやく見つけます。
  2. スクリプトの省略記号をクリックし、「スクリプトの編集」を選択します。「スクリプトの編集」ウィザードが表示されます。
  3. 「タスク情報」タブで、必要に応じて設定を構成します。
  4. 「スクリプトファイル」タブで、スクリプトの内容を表示します。
  5. 「保存」をクリックします。
注:
組み込みスクリプトは編集できません。

スクリプトを削除する

スクリプトを削除するには、次の手順を実行します。
  1. 「スクリプト化されたタスク」ページで、スクリプトを見つけます。必要に応じて、検索ボックスまたはタグを使用してすばやく見つけます。
  2. スクリプトの省略記号をクリックし、「スクリプトの削除」を選択します。
重要:
組み込みスクリプトは削除できません。

スクリプトを複製する

スクリプトを複製するには、次の手順を実行します。
  1. 「スクリプト化されたタスク」ページで、スクリプトを見つけます。必要に応じて、検索ボックスまたはタグを使用してすばやく見つけます。
  2. スクリプトの省略記号をクリックし、「スクリプトの複製」を選択します。
注:
スクリプトを複製する際、重複する名前を避けるために名前の変更を求められます。

スクリプトからタスクを構成する

スクリプトからタスクを構成および自動化するには、次の手順を実行します。
  1. スクリプト化されたタスクページで、スクリプトを見つけます。必要に応じて、検索ボックスまたはタグを使用してすばやく見つけます。
  2. スクリプトの省略記号をクリックし、タスクの構成を選択します。
  3. 構成セットの選択ウィザードで、タスクを作成する構成セットを選択します。
  4. 構成を完了するには、スクリプト化されたタスクの作成の手順に従います。

組み込みスクリプト

現在、以下の組み込みスクリプトをご利用いただけます。

クラウドヘルスチェック

Virtual Delivery Agent (VDA) の健全性を測定するチェックを実行できます。VDA ヘルスチェックは、一般的な VDA 登録およびセッション起動の問題の考えられる原因を特定します。クラウドヘルスチェックは、エージェントホスト上のローカルシステムアカウントで実行されます。

Windowsサービス管理

Windowsサービス管理は、1つ以上のWindowsサービスの開始、停止、再起動、構成など、Windowsサービスに関する頻繁に使用される機能を提供します。

Windowsサービスの再起動

このスクリプトは、Windowsサービスのステータスを確認します。サービスが現在実行されておらず、ForceStart パラメーターが指定されている場合、スクリプトはサービスを開始します。現在の状態にかかわらず、サービスが実行中で強制的な開始を必要としない場合、最新の構成で動作していることを確認するため、または停止状態から回復するために再起動されます。
パラメーター
名前 タイプ デフォルト 必須 注
ServiceNames 文字列 BrokerAgent 偽 管理するサービスの名前を指定します。指定しない場合、BrokerAgent がデフォルトになります。複数のサービスを入力する必要がある場合は、サービス名をコンマで区切ります。すべてのスペースはトリミングされます。例: ServiceA, ServiceB。
ForceStart ブール値 真 偽 サービスが実行されていないことが検出された場合に、サービスを開始するかどうかを示します。実行中のサービスには影響しません。実行中のサービスは、メンテナンスまたは回復の目的で常に再起動されます。

Windowsサービスを停止

このスクリプトは、指定されたWindowsサービスのリストを停止します。スクリプトは、各サービスがインストールされているかを確認し、サービスを強制的に停止しようとします。その後、スクリプトはサービスが正常に停止したかどうかを確認し、ステータスを報告します。
パラメーター
名前 タイプ デフォルト 必須 注
ServiceNames 文字列 BrokerAgent 偽 管理するサービスの名前を指定します。指定しない場合、BrokerAgent がデフォルトになります。複数のサービスを入力する必要がある場合は、サービス名をコンマで区切ります。すべてのスペースはトリミングされます。例: ServiceA, ServiceB。

Windowsサービスを構成

このスクリプトは、スタートアップの種類や回復アクションを含むWindowsサービスの設定を調整します。
パラメーター
名前 タイプ デフォルト 必須 注
ServiceNames 文字列 ヌル 真 管理するサービスの名前を指定します。指定しない場合、BrokerAgent がデフォルトになります。複数のサービスを入力する必要がある場合は、サービス名をコンマで区切ります。すべてのスペースはトリミングされます。例: ServiceA, SerivceB。
StartupType 文字列 ヌル 偽 サービスのスタートアップの種類を設定します。有効なオプションは、Automatic、Manual、または Disabled です。
FirstFailureAction 文字列 ヌル 偽 最初の障害に対するアクションを定義します。例: restart/none。
SecondFailureAction 文字列 ヌル 偽 2回連続の障害に対するアクションを定義します。
SubsequentFailureAction 文字列 ヌル 偽 2回目以降のすべての失敗に対するアクションを定義します。

サーバーの再起動

マシンの再起動

このスクリプトは、オプションの遅延と強制オプションを使用してローカルマシンを再起動します。
パラメーター
名前 タイプ デフォルト 必須 注
Force ブール値 真 偽 指定した場合、未保存のデータやアクティブなユーザーセッションを無視して、即座に再起動を強制します。
Delay 整数 10 偽 コンピューターが再起動されるまでの遅延時間(秒単位)を指定します。3秒から30秒の間である必要があります。デフォルトは10秒です。

CDFトレース管理

CDFトレースの開始

このスクリプトは、単一のCTLファイルまたは事前定義されたCTLファイルカテゴリを入力として使用して、CDFトレースプロセスを開始します。選択したCTLファイルで定義されたモジュールをトレースし、RunMinutes パラメータで指定された期間が経過すると、cdfcontrol.exe 自動的に停止します。
パラメーター
名前 タイプ デフォルト 必須 注
traceOutputPath 文字列 C:\ProgramData\Citrix\WEM\CDFLogs 偽 CDFレポートの出力パスを指定します。
category 文字列 all 偽
トレースを開始するための事前定義されたカテゴリを指定します。サポートされている値は次のとおりです:
  • all
  • always on tracing
  • desktop Server os vda
  • delivery controller
  • federated authentication service
  • provisioning service
  • universal print server
  • citrix director
  • citrix studio
  • session recording administration
  • session recording player
  • citrix workspace app for windows
ctlFilePath 文字列 ヌル 偽 トレースを開始するctlファイルを指定します。
RunMinutes 整数 30 偽 cdfcontrol.exeが自動的に停止して終了するまでの実行時間を指定します。

CDFトレースの停止

このスクリプトはCDFツールのトレースを停止します。

CDFログのクリーンアップ

ストレージ消費を節約するために、CDFトレースログをクリーンアップすることは有用です。指定されたディレクトリ下のCDFファイルを削除する機能を提供する必要があります。
名前 タイプ デフォルト 必須 注
FileAgeDays 整数 3 偽 日数での経過時間しきい値を指定します。この値より古いファイルとフォルダーは削除されます。デフォルト値は3日であり、このパラメーターはオプションです。FileAgeDaysが1日未満の場合、すべてのファイルまたはディレクトリが削除されます。

AOTログ収集

このスクリプトは、Citrix AOTログの収集と処理のために設計された包括的な自動化ツールです。Citrix CDFControlと統合されており、トレース収集の設定、フィルタリングの適用(デフォルト: Level=1, Class=Failure)、およびETL(イベントトレースログ)ファイルを分析用の読み取り可能なCSV形式に変換する機能を提供します。
名前 種類 デフォルト 必須 注
StartTime [DateTime] EndTime - 30 minutes いいえ ログフィルタリングの開始時刻を指定します
EndTime [DateTime] 現在の日時 いいえ ログフィルタリングの終了時刻を指定します

DNS設定の確認

このスクリプトは、Citrix VDA環境向けに設計された包括的なDNSヘルスチェックツールです。DNS構成を検証し、トラブルシューティングを実行して、Citrixサービスに影響を与える可能性のあるDNS関連の問題を特定します。
名前 種類 デフォルト 必須 注
DomainName [string] 該当なし いいえ DNS解決をテストするドメイン名を指定します(DNS名前解決テストを有効にします)
FlushDNS [switch] いいえ いいえ DNSキャッシュをスタンドアロンアクションとしてフラッシュするかどうかを指定します

RDSライセンスの確認

このスクリプトは、ローカルコンピューター上のRemote Desktop Services (RDS) ライセンス構成とステータスを確認するために設計された、包括的なRDSライセンス検証ツールです。特に、RDSライセンスのコンプライアンスが適切な運用に不可欠なCitrix VDA環境で役立ちます。このスクリプトを使用して、ライセンスのコンプライアンスを確保し、中断のないマルチセッションユーザーアクセスを維持してください。
名前 種類 デフォルト 必須 注
DomainName [string] 該当なし 偽 DNS解決をテストするドメイン名を指定します(DNS名前解決テストを有効にします)
FlushDNS [switch] 偽 偽 DNSキャッシュをスタンドアロンアクションとしてフラッシュするかどうかを指定します

VDA登録解除の診断

このスクリプトは、Citrix Virtual Delivery Agent (VDA) の登録解除の問題をトラブルシューティングするために設計された、包括的な診断ツールです。Citrix環境におけるVDA登録解除問題の潜在的な原因を特定するために、複数のヘルスチェックと診断手順を実行します。
名前 種類 デフォルト 必須 注
StartTime [DateTime] EndTime - 30 minutes いいえ ログフィルタリングの開始時刻を指定します
EndTime [DateTime] 現在の日時 いいえ ログフィルタリングの終了時刻を指定します

プロファイル管理のヘルスチェックを実行する

このスクリプトは、Citrix Profile Management展開の包括的なヘルスチェックを実行します。構成をスキャンして潜在的な問題を特定し、ログを分析して一時プロファイルエラーやログオン時の大幅な時間差などの重大な問題を検出します。
名前 種類 デフォルト 必須 注
CtxSessionKey [string] ヌル いいえ 特定のセッションログを検索するために使用されるCitrixセッションキーを指定します。指定しない場合、スクリプトは過去24時間のセッションを分析します。
LogonTime [string] ヌル フォールス イベントログ検索をフィルタリングするログオン時間を指定します。さまざまな日付と時刻の形式を受け入れます。指定しない場合、スクリプトは過去24時間分のイベントログをフィルタリングします。
StructuredOutputOnly [switch] はい フォールス コンソールログなしで構造化されたJSONデータを出力するかどうかを指定します。
Parallel [switch] はい フォールス パフォーマンスを向上させるために、ログ分析操作に並列処理を使用するかどうかを指定します。

プロファイルリセットトリガーを設定

このスクリプトは、ユーザーのプロファイルをリセットするトリガーを設定します。ユーザーが次回ログオンするときに、既存のプロファイルがバックアップされ、新しいクリーンなプロファイルフォルダーが作成されます。
名前 種類 デフォルト 必須 注
CtxSessionKey [string] ヌル はい ユーザーの次回のログオン時にプロファイルのリセットをトリガーするために使用されるCitrixセッションキーを指定します。
FoldersToRestore [string] ヌル 偽 プロファイルのリセット後に復元するフォルダーを指定します。指定しない場合、ダウンロード、デスクトップ、ピクチャなどの既知のフォルダーがデフォルトで復元されます。
BackupNameSuffix [string] なし 偽 プロファイルのリセット中にバックアップフォルダー名に使用するサフィックスを指定します。指定しない場合、サフィックスはデフォルトで upm_%CurrentTimeStamp% になります。

詳細情報

スクリプト化されたタスクの使用例については、以下を参照してください。