カスタムアクティビティ、アクション、テーブル
ITSMアダプタサービスは、Citrix ITSMコネクタプラグインを介して一連のカスタムアクティビティ、アクション、およびテーブルを提供します。それらを使用して、開発者はニーズに最適なCitrix ITSMワークフローを作成できます。
-
アクティビティを使用すると、 開発者はServiceNow Workflow Editorを使用してCitrix アプリとデスクトップのワークフローを作成できます。
アクティビティは ServiceNow ワークフローのビルディングブロックです。Citrix ITSMコネクタプラグインは、Citrix アプリとデスクトップのカスタムアクティビティを提供します。Get Sessions アクティビティを例にとります。変数値に基づいて、Citrix アプリとデスクトップセッションに関する情報を取得します。
-
アクションを使用すると、 開発者はServiceNowフローデザイナーを使用してCitrixアプリおよびデスクトップ用のワークフローを作成できます。
-
テーブルを使用すると、Citrix 環境からデータを取得できます。
詳しくは、 Citrix ITSM 開発者向けドキュメントを参照してください。
アクティビティ:マシン上でPowerShellスクリプトを実行する
マシン上でPowerShellスクリプトを実行するカスタムアクティビティを使用すると、ターゲットマシン上でPowerShellスクリプトをリモートで実行できます 。
概要
次の図は、このカスタムアクティビティの処理フローを示しています。
詳細なプロセスは次のとおりです。
- 1と2:Citrix ITSMコネクタープラグインは、アクティビティからデータを収集し、それをCitrix ITSMアダプターサービスに送信します。
- 3: Citrix ITSMアダプターサービスは受信したデータを解析し、ターゲットのクラウドコネクタに送信します。
- 4: Cloud Connectorは受信したデータを解析し、スクリプトをターゲットマシンに配信して実行します。
- 5、6、7: ターゲットマシンはスクリプトを実行し、その結果を ServiceNow に返します。このプロセスでは、HTTPS、WebSocket、および WinRM プロトコルが使用されます。
このアクティビティには次のデータが含まれます。
- カスタマー ID とリソースロケーション ID。スクリプト配信用のクラウドコネクタを特定します。
- マシン名。スクリプトを実行するターゲットマシンを識別します。
- ユーザー名とパスワード。マシン上で PowerShell を実行するための認証情報を確認してください。
- [スクリプト]。PowerShell スクリプトを識別します。
詳しくは、Citrix ITSM開発者向けドキュメントの「マシンでのPowerShell スクリプトの実行 」を参照してください。
前提条件
このアクティビティを使用する前に、以下を行う必要があります。
- Citrix ITSM コネクタでリモート PowerShell を有効にします。詳細については、「 リモート PowerShell を有効にする」を参照してください。
- VDAマシンがリモートコマンドを受信できるようにします。詳細については、 この Microsoft の記事を参照してください。
サンプルワークフローの使用を開始する
ServiceNow サービス管理ポータルには、このカスタムアクティビティの使用方法を理解するのに役立つサンプルワークフローが用意されています。
このサンプルワークフローをユーザーとして体験するには、次の手順に従ってください。
- ServiceNow サービス管理ポータルで、 Citrix IIT Service Management Connector > サービス > Citrix Virtual Apps and Desktopsに移動します。
- 「 PowerShell スクリプトをマシン上で実行 (サンプルワークフロー)」をクリックします。
- ユーザー名、デリバリーグループ、またはマシンカタログ(一部またはすべて)を使用してターゲットマシンを検索し、検索結果からマシンを選択します。
- 「 ユーザー名 」フィールドと「 パスワード 」フィールドに、マシン上でPowerShellスクリプトを実行するための認証情報を入力します。
- 「 スクリプトコンテンツ 」フィールドに、マシン上で実行する PowerShell スクリプトを入力します。ITSM Adapter サービスバージョン 23.7.0 以降では、スクリプトでパラメーターを使用できます。パラメーターは次のように表されます 。
${ScriptParameters.<key>}
各キー名は、 やなどの異なるパラメーターに対応しています 。${ScriptParameters.ExampleParam1}
${ScriptParameters.ExampleParam2}
- スクリプトでパラメーターを使用している場合は、「 スクリプトパラメーター 」フィールドに JSON 形式でキーと値のペアを入力し、スクリプト内のキーに値を割り当てます。**例、
{"ExampleParam1":"Value1","ExampleParam2":"Value2"}
- [Submit] をクリックします。
例
スクリプトの内容:
$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 サービス管理ポータルで、左側のナビゲーションメニューで [ ワークフローエディター ] を選択します。
- 「 ワークフロー 」タブで、 CTX リモートPowerShellワークフローを選択します 。デザインの詳細が表示されます。