---
sourceDocument: Xanadu IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/it-operations-management

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# SSH ワークフローの作成

# SSH ワークフローの作成 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：4分

VM の電源をオフにするために必要な SSH ワークフローを作成します。作成済みの SSH カスタムアクティビティを使用します。

## 始める前に

* SSH カスタムアクティビティがすでに作成されている
* 必要なロール：ワークフローデザイナーまたはアドミニストレーター
{#create-ssh-workflow__ul_scj_1pc_cgb}

## このタスクについて

ワークフローを作成する場合、それをテーブルおよびアクティビティに関連付けます。

* グローバルレベルのテーブルまたはアプリケーションレベルのテーブルにワークフローを作成できます。グローバルテーブルを使用して、ワークフローをすべての ServiceNow アプリケーションで使用できるようにします。ここでは、クラウドプロビジョニングとガバナンス にテーブルを使用するため、このワークフローはそのアプリケーションでのみ使用できます。
* ワークフローは、ワークフローエディターまたはアクティビティデザイナーから作成できます。ここでは、アクティビティデザイナーが使用されます。
{#create-ssh-workflow__ul_rkz_vhr_cgb}

## 手順

1. アクティビティデザイナーで、右側の \[ワークフロー\] タブを選択し、\[+\] (プラス記号) をクリックして新しいワークフローを追加します。
2. \[新規ワークフロー\] ウィンドウで、次の手順を実行します。
   1. ワークフローの一意の名前を入力します。
   2. \[テーブル\] ドロップダウンから、使用するテーブルを選択します。  
      ワークフローを使用して VM の電源をオフにするため、\[仮想マシンインスタンス cmdb_ci_vm_instance\] を検索して使用します。
   3. \[Submit\] をクリックします。
   {#create-ssh-workflow__substeps_oqx_cxq_cgb}
3. キャンバスにワークフローが表示されたら、次の手順を実行します。
   1. ワークフローの始点と終点の間の接続線を削除します。
   2. 詳細のキャンバスを右クリックし、\[入力の編集\] を選択します。
   3. 次の入力を作成します。  
      注:  
      \[ラベル\] フィールドからではなく、\[列\] フィールドから入力名を取得します。ワークフローがグローバルレベルのテーブルに関連付けられている場合、\[列\] フィールドの入力名にはプリフィックス u_ が付きます (u_ipaddress)。ここでは、テーブルはアプリケーションレベルなので、プリフィックスは必要ありません。  
      {#create-ssh-workflow__table_aw1_xmr_cgb__entry__4}

      | タイプ | ラベル | 列 (自動的に追加) | 最大長 |
      |-|-|-|-|
      | 文字列 | IPAddress | ipaddress | 100 |
      | 文字列 | CredentialTag | credentialtag | 100 |
      [表 : 1. ワークフロー入力]

      {#create-ssh-workflow__table_aw1_xmr_cgb}
   4. \[送信\] をクリックします。
   {#create-ssh-workflow__substeps_g5w_b3r_cgb}
4. キャンバスを右クリックし、\[要素を追加\] を選択します。
5. \[バージョン\] ウィンドウで、[SSH カスタムアクティビティの作成](https://servicenow-prod.fluidtopics.net/FCNoYa~ZzLNpsBUB41ik4Q "SSH カスタムアクティビティを作成して、ワークフローで使用できるようにします。") で前に作成したアクティビティを検索して選択します。
6. そのアクティビティの \[新規アクティビティ\] ウィンドウ (ワークフローアクティビティの新規レコード \[Diagrammer ビュー\]) で、次の手順を実行します。
   1. アクティビティの名前を入力します。
   2. \[ホスト\] フィールドに、アクティビティが予期する入力マッピングを入力します。  
      つまり、ホストの IP アドレス (${workflow.inputs.u_ipaddress}) です。

      この式を IP アドレスに使用します。

      $(Script:CMPVMUtils.getReachableIp\[arg=$(Stack.items\[Virtual Server\].attributes\[sys_id\])\])
   3. \[コマンド\] フィールドに、shutdown -h now と入力します。
   4. \[認証情報タグ\] フィールドに、${workflow.inputs.u_credentialtag} と入力します。  
      この式を使用して、認証情報タグを取得します。

      $(Script:CMPVMUtils.getCredentialAlias\[arg=${Stack.items\[Virtual Server\].attributes\[sys_id\]}\])
   5. \[Submit\] をクリックします。  
      アクティビティはワークフローキャンバスに表示されます。
   {#create-ssh-workflow__substeps_tnv_y3r_cgb}
7. キャンバスを右クリックし、\[コアアクティビティを追加\] を選択して、スクリプト実行アクティビティを追加します。
8. \[ワークフローアクティビティ定義\] ウィンドウで、\[スクリプトを実行\] を検索して選択します。
9. \[新規ワークフロー\] の \[スクリプトを実行\] ウィンドウで、次の手順を実行します。
   1. アクティビティの名前を入力します。
   2. \[スクリプト\] フィールドに (環境に適した) スクリプトを切り取って貼り付けます。  
      このスクリプトは、シャットダウン後に VM のステータスを更新します。  
      スクリプト例：

          if ( gs.nil(data.get(3).error)) {
                              current.state = 'off';
                              current.setWorkflow(false);
                              current.update();
          }

   3. \[送信\] をクリックします。
   {#create-ssh-workflow__substeps_b11_yvr_cgb}
10. キャンバスで、開始点、アクティビティ、実行スクリプト、および終了点の間のコネクターを接続します。
11. \[公開\] をクリックして、ワークフローを使用可能にします。
12. ワークフロー検証を使用してワークフローを検証します。  
    注:  
    システムでは、current.update() の使用は推奨されません。これは無視できます。

