カスタムアクティビティ、アクション、およびテーブル
ITSM Adapterサービスは、Citrix ITSMコネクタプラグインを介して、一連のカスタムアクティビティ、アクション、およびテーブルを提供します。これらを使用すると、開発者はニーズに最適なCitrix ITSMワークフローを作成できます。
-
アクティビティを使用すると、開発者はServiceNow Workflow Editorを使用して、Citrixアプリおよびデスクトップ用のワークフローを作成できます。
アクティビティはServiceNowワークフローの構成要素です。Citrix ITSMコネクタプラグインは、Citrixアプリおよびデスクトップ用のカスタムアクティビティを提供します。例として、Get Sessionsアクティビティを取り上げます。これは、変数値に基づいてCitrixアプリおよびデスクトップセッションに関する情報を取得します。
-
アクションを使用すると、開発者はServiceNow Flow Designerを使用して、Citrixアプリおよびデスクトップ用のワークフローを作成できます。
-
テーブルを使用すると、Citrix環境からデータを取得できます。
詳細については、Citrix ITSM開発者ドキュメントを参照してください。
アクティビティ: マシン上でPowerShellスクリプトを実行する
マシン上でPowerShellスクリプトを実行するカスタムアクティビティを使用すると、ターゲットマシン上でPowerShellスクリプトをリモートで実行できます。
概要
次の図は、このカスタムアクティビティの処理フローを示しています。

詳細なプロセスは次のとおりです。
- 1および2: Citrix ITSMコネクタプラグインは、アクティビティからデータを収集し、Citrix ITSM Adapterサービスに送信します。
- 3: Citrix ITSM Adapterサービスは、受信したデータを解析し、ターゲットのCloud Connectorに送信します。
- 4: Cloud Connectorsは受信したデータを解析し、スクリプトを実行のためにターゲットマシンに配信します。
- 5、6、7: ターゲットマシンはスクリプトを実行し、結果をServiceNowに返します。このプロセスでは、HTTPS、WebSocket、およびWinRMプロトコルが使用されます。
このアクティビティには、次のデータが含まれています。
- 顧客IDとリソースロケーションID。スクリプト配信用のCloud Connectorsを識別します。
- マシン名。スクリプトを実行するターゲットマシンを識別します。
- ユーザー名とパスワード。マシン上でPowerShellを実行するための資格情報を識別します。
- スクリプト。PowerShellスクリプトを識別します。
詳細については、Citrix ITSM開発者向けドキュメントのマシン上でPowerShellスクリプトを実行するを参照してください。
前提条件
このアクティビティを使用する前に、次のことを行う必要があります。
- Citrix ITSMコネクタでリモートPowerShellを有効にします。詳細については、リモートPowerShellを有効にするを参照してください。
- VDAマシンがリモートコマンドを受信できるようにします。詳細については、このMicrosoftの記事を参照してください。
サンプルワークフローの使用を開始する
ServiceNow Service Management Portalは、このカスタムアクティビティの使用方法を理解するのに役立つサンプルワークフローを提供します。
ユーザーとしてこのサンプルワークフローを体験するには、次の手順に従ってください。
- ServiceNow サービス管理ポータルで、Citrix IT Service Management Connector > サービス > Citrix Virtual Apps and Desktops™ に移動します。
- マシン上でPowerShellスクリプトを実行 (サンプルワークフロー) をクリックします。
- ユーザー名、デリバリーグループ、またはマシンカタログ (いずれかまたはすべて) を使用してターゲットマシンを検索し、検索結果からマシンを選択します。
- ユーザー名フィールドとパスワードフィールドに、マシン上でPowerShellスクリプトを実行するための資格情報を入力します。
-
スクリプトコンテンツフィールドに、マシン上で実行するPowerShellスクリプトを入力します。ITSMアダプターサービスバージョン23.7.0以降、スクリプト内でパラメーターを使用できます。パラメーターは
${ScriptParameters.<key>}として表されます。各キー名は、${ScriptParameters.ExampleParam1}や${ScriptParameters.ExampleParam2}のような異なるパラメーターに対応します。 - スクリプトでパラメーターを使用している場合は、スクリプトパラメーターフィールドにJSON形式を使用してキーと値のペアを入力し、スクリプト内のキーに値を割り当てます。例:
{"ExampleParam1":"Value1","ExampleParam2":"Value2"} - 送信をクリックします。
例
スクリプトコンテンツ:
$processes = Get-Process -Name “${ScriptParameters.appname}”
foreach ($process in $processes){
Stop-Process -id $process.Id
}
<!--NeedCopy-->
スクリプトパラメーター:
{"appname":"chrome"}
最終スクリプト:
$processes = Get-Process -Name “chrome”
foreach ($process in $processes){
Stop-Process -id $process.Id
}
<!--NeedCopy-->
このワークフローのデザインの詳細を表示するには、次の手順に従います。
- ServiceNow Service Management ポータルで、左側のナビゲーションメニューでワークフローエディターを選択します。
- ワークフロータブで、CTX Remote PowerShellワークフローを選択します。そのデザインの詳細が表示されます。