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