Hitachi

JP1 Version 12 JP1/Automatic Operation サービステンプレートリファレンス


3.15.1 vCenterサーバ経由でのスクリプト実行

機能

このサービステンプレートは,VMware vSphere環境で,指定した非対話型のスクリプトファイルを実行対象サーバからvCenterサーバ経由で仮想サーバのゲストOSに送信し,ゲストOS上でスクリプトファイルを実行します。その後,不要な場合はスクリプトファイルを削除できます。

このサービステンプレートが前提とするサーバを次に示します。

・vCenterサーバ

 VMware vCenter Serverがインストールされているサーバです。

・ESXサーバ

 VMware vSphere ESXiがインストールされているサーバです。

・vCenter操作サーバ(実行対象サーバ)

 VMware vSphere PowerCLIがインストールされているサーバです。本製品によってこのサーバに部品が転送され,実行されます。

・仮想サーバ

 vCenterサーバおよびVMware vSphere ESXによって管理されている仮想サーバです。

処理の概要を次に示します。

(1)実行対象サーバでPowerCLIのコマンドレット"Copy-VMGuestFile"を実行して,指定したスクリプトを実行対象サーバから仮想サーバのゲストOSに送信する。

(2)実行対象サーバでPowerCLIのコマンドレット"Invoke-VMScript"を実行して,(1)で送信したスクリプトを実行します。その際,仮想サーバで次に示す実行形式でスクリプトを実行を行います。

・Windows バッチ ファイル(拡張子bat)

 "& 'ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ)' 'スクリプトの引数(vmware.scriptParameterプロパティ)' ; exit $LASTEXITCODE"

・Windows PowerShell スクリプト(拡張子ps1)

 "Set-ExecutionPolicy RemoteSigned -Scope Process ; & 'ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ)' 'スクリプトの引数(vmware.scriptParameterプロパティ)' ; exit $LASTEXITCODE"

・シェルスクリプト(拡張子sh)

 "/bin/bash 'ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ)' 'スクリプトの引数(vmware.scriptParameterプロパティ)' "

仮想サーバで実行したスクリプトの標準出力および標準エラー出力は,スクリプトの出力ファイルパス(vmware.scriptOutputFilePathプロパティ)に指定した,実行対象サーバのファイルパスに出力されます。

(3)スクリプト削除の要否(vmware.deleteScriptEnabledプロパティ)にyesを指定した場合,実行対象サーバから仮想サーバのゲストOSに送信したスクリプトを削除できます。削除する場合,仮想サーバの環境ごとに次に示す形式で削除を行います。

・Windows

 "Remove-Item -LiteralPath 'ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ)' -Force "

・UNIX

 "/bin/rm -f 'ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ)' "

プロパティ設定の留意点を次に示します。

(1)ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ)に指定できるスクリプトファイルは,Windows バッチ ファイル(拡張子bat),Windows PowerShell スクリプト(拡張子ps1),シェルスクリプト(拡張子sh)です。

(2)スクリプトの引数(vmware.scriptParameterプロパティ)に複数の引数を使用する場合は,引数と引数の間を","(半角コンマ)か"-"(半角ハイフン)のどちらかで区切ることができます。

詳細については,各部品の仕様を参照してください。

前提条件

【システム内前提製品】/【実行対象サーバ内前提製品】/【実行対象サーバ内前提製品の稼働OS】の最新のサポート状況については,リリースノートを参照してください。

【システム内前提製品】

 JP1/Automatic Operation 12-00以降

【サービステンプレート実行対象サーバ内前提製品】

 ・VMware vSphere PowerCLI 6.3 Release1,6.0 Release3,6.0 Release1,5.8 Release1,5.5 Release2,5.5 Release1,5.1 Release2,5.0

 ・VMware PowerCLI 6.5 Release1

 ・VMware PowerCLI 6.5.1,6.5.4

 ・VMware PowerCLI 10.1.0,10.1.1,11.3.0,12.0.0,12.1.0

【サービステンプレート実行対象システム内前提製品】

(1)vCenterサーバの前提製品

 ・VMware vCenter Server 7.0,6.7,6.5,6.0,5.5,5.1,5.0

(2)仮想サーバを管理するVMware vSphere ESXi

 ・VMware vSphere ESXi 7.0,6.7,6.5,6.0,5.5,5.1,5.0

(3)仮想サーバの前提OS

 vCenterサーバの前提製品/仮想サーバを管理するVMware vSphere ESXi/vCenter操作サーバの前提製品がサポートする構成の範囲で,次のOSがサポート範囲です。

 ・Windows Server 2008 R2 Standard/Enterprise/Datacenter

 ・Windows Server 2012 Standard/Datacenter,Windows Server 2012 R2 Standard/Datacenter

 ・Windows Server 2016 Standard/Datacenter

 ・Windows Server 2019 Standard/Datacenter

 ・Red Hat Enterprise Linux Server 6 (32-bit x86),Red Hat Enterprise Linux Server 6 (64-bit x86_64)

 ・Red Hat Enterprise Linux Server 7 (64-bit x86_64)

 ・Red Hat Enterprise Linux Server 8 (64-bit x86_64)

 ・CentOS 6 (64-bit x86_64)

 ・CentOS 7 (64-bit x86_64)

 ・CentOS 8 (64-bit x86_64)

【サービステンプレート実行対象サーバ内前提製品の稼働OS】

 ・Windows Server 2008 R2 Standard/Enterprise/Datacenter

 ・Windows Server 2012 Standard/Datacenter,Windows Server 2012 R2 Standard/Datacenter

 ・Windows Server 2016 Standard/Datacenter

 ・Windows Server 2019 Standard/Datacenter

【サービステンプレート実行対象システム内前提製品の使用条件】

(1)VMware vSphere ESXiがVMware vCenter Serverで管理されていること。

(2)VMware vCenter Server上の設定に関する条件

 ・仮想サーバの名称が一意であること。

 ・VMwareに関連する次の名称について,VMware上では英字の大文字・小文字は区別されますが,この部品が実行するvSphere PowerCLIからは,指定した名称の英字の大文字・小文字を区別できません。

  - 仮想サーバ名

(3)仮想サーバに関する条件

 ・仮想サーバが起動していること。

 ・仮想サーバがWindowsの場合,Windows PowerShell 2.0以降がインストールされいること。

 ・仮想サーバに,VMwareToolsがインストールされていること。

注意事項

(1)ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ),スクリプトの出力ファイルパス(vmware.scriptOutputFilePathプロパティ)にすでに同名のファイルが存在する場合にはファイルを上書きします。また,ファイルパスに存在しないフォルダが含まれる場合,フォルダを作成してファイルを送信します。これらのフォルダが不要な場合は,削除して下さい。

(2)ゲストOS上のスクリプトファイルパス(vmware.scriptFileOnGuestプロパティ)に同名なフォルダが存在した場合,同名なフォルダの配下に送信元のスクリプトファイル名で格納されます。その場合,スクリプトの実行に失敗し,サービスは異常終了します。

(3)ファイル送信中にエラーが発生した場合,仮想サーバへ送信途中だったファイルは削除されませんので,不要な場合は削除してください。

(4)ユーザーに入力を求める対話式スクリプト,GUI表示などによって自動的に終了しないスクリプトは実行しないでください。

(5)このサービステンプレートを同一の仮想サーバに対して同時に実行しないでください。

(6)VMware vCenter操作サーバ上のスクリプトファイル(vmware.scriptFileOnHostプロパティ)に指定したスクリプトはバイナリ形式でゲストOSに転送されます。そのため,あらかじめゲストOSで実行可能な改行コード・文字コードでスクリプトを作成してください。

実行権限

(1)VMware vCenter Serverに接続するユーザーに,次の権限が必要です。

 システム管理者ロール

バージョン

02.50.00

タグ

Execute Script,VMware vSphere

プロパティ一覧

プロパティに設定されているプロパティグループの一覧を次に示します。

プロパティグループ

説明

初期表示

仮想システム環境情報

VMware vCenter Serverの情報を指定してください。

表示されます。

仮想サーバ情報

スクリプトを実行する仮想サーバの情報を指定してください。

表示されます。

スクリプト情報

スクリプト実行のための情報を指定してください。

表示されます。

出力ファイル格納情報

出力ファイルの格納先を指定してください。

表示されます。

[サービス設定]画面に表示されるプロパティの一覧を次に示します。

(凡例)

○:プロパティの指定は必須です。

△:プロパティの指定は省略可能です。ただし,ほかのプロパティの指定内容によっては,指定が必須になります。各プロパティの「説明」を確認してください。

プロパティキー

プロパティ名

説明

入出力種別

共有設定

必須区分

プロパティグループ

vmware.targetHost

VMware vCenter操作サーバのホスト名

VMware vCenter Serverを操作するサーバ(vSphere PowerCLIインストール済みサーバ)のホスト名またはIPアドレスを指定します。IPv6アドレスには対応していません。

入力

無効

○ 

仮想システム環境情報

vmware.vCenterServerName

vCenterサーバ名

VMware vCenter Serverのホスト名,またはIPアドレスを指定します。IPv6アドレスには対応していません。

入力

無効

○ 

仮想システム環境情報

vmware.userName

VMware vCenter Serverに接続するためのユーザー名

VMware vCenter Serverに接続するためのユーザー名を指定します。

入力

無効

○ 

仮想システム環境情報

vmware.password

VMware vCenter Serverに接続するためのパスワード

VMware vCenter Serverに接続するためのパスワードを指定します。

入力

無効

○ 

仮想システム環境情報

vmware.portNumber

VMware vCenter Server接続用ポート番号

VMware vCenter Serverに接続するためのポート番号(VMware vCenter ServerのWebサービス用)を指定します。指定しなかった場合には,VMware vCenter Serverで設定されているデフォルト値で接続します。

入力

無効

△ 

仮想システム環境情報

vmware.protocol

VMware vCenter Server接続用プロトコル

VMware vCenter Serverに接続するためのプロトコルを指定します。

入力

無効

○ 

仮想システム環境情報

[サービス設定]画面および[サービス実行]画面に表示されるプロパティの一覧を次に示します。

プロパティキー

プロパティ名

説明

入出力種別

共有設定

必須区分

プロパティグループ

vmware.vmName

仮想サーバ名

仮想サーバの名称を指定します(VMware vCenter Serverにおける仮想サーバの表示名称です。OS上のホスト名ではありません)。

入力

無効

○ 

仮想サーバ情報

vmware.guestOSUserName

ゲストOSにログインするためのユーザー名

ゲストOSにログインするためのユーザー名を指定します。

入力

無効

○ 

仮想サーバ情報

vmware.guestOSUserPassword

ゲストOSにログインするためのパスワード

ゲストOSにログインするためのパスワードを指定します。

入力

無効

○ 

仮想サーバ情報

vmware.scriptFileOnHost

VMware vCenter操作サーバ上のスクリプトファイル

送信元となるVMware vCenter操作サーバ上のスクリプトファイルをフルパスで指定します。

入力

無効

○ 

スクリプト情報

vmware.scriptFileOnGuest

ゲストOS上のスクリプトファイル

送信先となるゲストOS上のスクリプトファイルをフルパスで指定します。送信後このプロパティに指定したスクリプトファイルを実行します。

入力

無効

○ 

スクリプト情報

vmware.scriptParameter

スクリプトの引数

スクリプトの引数を指定します。複数の引数を指定する場合は,スクリプト引数の区切り文字に指定した値(半角コンマまたは半角ハイフン)を引数の間に挿入してください。

入力

無効

△ 

スクリプト情報

vmware.scriptParamDelimiter

スクリプト引数の区切り文字

スクリプトの引数の区切り文字を指定します。指定可能な値は","(半角コンマ)または"-"(半角ハイフン)です。省略した場合は,スクリプトの引数に指定した値を1つの引数として扱います。

入力

無効

△ 

スクリプト情報

vmware.scriptOutputFilePath

スクリプトの出力ファイルパス

スクリプトの標準出力および標準エラー出力を出力するVMware vCenter操作サーバ上のファイルパスをフルパスで指定します。

入力

無効

○ 

出力ファイル格納情報

vmware.deleteScriptEnabled

スクリプト削除の要否

実行後に,スクリプトを削除するかどうかを指定します。「yes」を選択した場合,スクリプトを削除します。「no」を選択した場合,スクリプトを削除しません。

入力

無効

○ 

スクリプト情報

[タスク詳細]画面にだけ表示されるプロパティの一覧を次に示します。

プロパティキー

プロパティ名

説明

入出力種別

共有設定

common.scriptReturnCode

スクリプトの戻り値

仮想サーバで実行したスクリプトの戻り値が格納されます。

出力

無効

[サービス設定]画面に表示されるプロパティの入力制限を次に示します。

プロパティキー

入力可能文字

vmware.targetHost

256文字以内の半角英数字および「.」,「-」。

vmware.vCenterServerName

256文字以内の半角英数字および「.」,「-」。

vmware.userName

512文字以内の半角英数字および半角記号。 ただし,「<」,「>」,「|」,「;」,「&」,「'」,「"」,「*」,「?」,「[」,「]」,「`」,「/」,「:」,「=」,「,」,「+」,「%」を除く。

vmware.password

127文字以内の半角英数字および半角記号。ただし,「<」,「>」,「|」,「;」,「&」,「'」,「"」,「*」,「?」,「[」,「]」,「`」,「%」を除く。

vmware.portNumber

1〜65535の整数値。

vmware.protocol

次の値のどれかを選択する。

http,https

[サービス設定]画面および[サービス実行]画面に表示されるプロパティの入力制限を次に示します。

プロパティキー

入力可能文字

vmware.vmName

60文字以内の文字列。ただし,「<」,「>」,「|」,「;」,「&」,「'」,「"」,「*」,「?」,「[」,「]」,「`」,「,」,「%」を除く。

vmware.guestOSUserName

32文字以内の半角英数字。および「!」,「#」,「$」,「(」,「)」,「-」,「.」,「^」,「_」,「`」,「{」,「}」,「~」。

vmware.guestOSUserPassword

255文字以内の文字列。ただし「<」,「>」,「|」,「"」,「'」,「;」,「&」を除く。

vmware.scriptFileOnHost

256文字以内の半角英数字。および「.」,「¥」,「:」。ただし,末尾の「¥」を除く。

vmware.scriptFileOnGuest

256文字以内の半角英数字。および「.」,「/」,「¥」,「:」。ただし,末尾の「¥」,「/」を除く。

vmware.scriptParameter

1024文字以内の半角英数字。および「.」,「/」,「¥」,「:」,「,」,「-」。

vmware.scriptParamDelimiter

次の値のどれかを選択する。

,,-

vmware.scriptOutputFilePath

256文字以内の半角英数字。および「.」,「¥」,「:」。ただし,末尾の「¥」を除く。

vmware.deleteScriptEnabled

次の値のどれかを選択する。

yes,no

フロー仕様詳細

フロー仕様詳細を次の表に示します。

階層

[タスク詳細]画面での表示名

ステップ名

部品

部品名

説明

エラー時の回復方法

1

vCenterサーバ経由でのスクリプト送信

vCenterサーバ経由でのスクリプト送信

vCenterサーバ経由でのファイル送信

指定したファイルを実行対象サーバから仮想サーバのゲストOSに送信します。

エラーの原因を取り除いたあと,サービスを再実行して下さい。

2

vCenterサーバ経由でのスクリプト実行

vCenterサーバ経由でのスクリプト実行

vCenterサーバ経由でのスクリプト実行

仮想サーバのゲストOS上に送信された非対話型のスクリプトファイルを実行します。

エラーの原因を取り除いたあと,このステップから実行するかサービスを再実行して下さい。

3

スクリプト削除要否確認

スクリプト削除要否確認

値判定分岐部品

仮想サーバのゲストOS上に送信されたスクリプトファイルを削除するかを判定します。

− 

4

vCenterサーバ経由でのスクリプト削除

vCenterサーバ経由でのスクリプト削除

vCenterサーバ経由でのファイル削除

仮想サーバのゲストOS上に送信されたスクリプトファイルを削除します。

エラーの原因を取り除いたあと,このステップから実行するかサービスを再実行して下さい。