機能説明
指定したホストで任意のコマンドを実行します。
指定できるコマンドとして、WindowsやLinuxのコマンド、Windows PowerShell のコマンドレットがあります。また、バッチファイルやシェルスクリプトを実行することも可能です。
オプション
基本オプション
運用操作部品を実行する対象のホスト名またはIPアドレスです。
管理サーバで運用操作部品を実行する場合、'localhost'または'127.0.0.1'を指定します。
ホスト名またはIPアドレスを省略した場合、引数エラーとなります。
ホスト名またはIPアドレスの文字数の上限は、1024文字です。それより大きい場合、引数エラーとなります。
実行するコマンド名と引数です。
コマンド名と引数には、絶対パスまたは相対パスが利用できます。
実行するコマンド名にパスの情報が含まれている場合は、以下のとおり指定してください。なお、コマンド名で指定したコマンドの引数にパスの情報が含まれる場合は、コマンドの仕様に従って指定してください。
パスの接続詞を'\'から'/'に変更する。
パスの情報をダブルクォーテーションで囲む。
業務サーバがWindowsかつ、ファイル転送基盤を利用して接続するかつ、パスに'%'を含む場合、'%'を2つ繰り返す。
拡張子が.batおよび、.cmdのコマンド名には、拡張子を指定してください。拡張子を指定しない場合の動作は保証されません。
コマンド名と引数を省略した場合、引数エラーとなります。
コマンド名と引数の文字数の上限は、8191文字です。それより大きい場合、引数エラーとなります。
対話型のコマンドが実行された場合、エラーとなります。
実行するコマンド名と引数は、以下のように指定します。
(例)
指定したフォルダ(ディレクトリ)のファイル詳細一覧を取得する場合:
dir "c:/work/example"
コマンド名を絶対パスで指定した場合:
"c:/work/example/example.bat" -a "c:/work/a.txt"
拡張オプション
ホストへの通信方法です。
“File Transfer Infrastructure”(ファイル転送基盤)、“SSH”、“PowerShell”、”Telnet”、”RSH” 、”REXEC”のいずれかを指定します。なお、大文字/小文字は区別しません。
上記以外を指定した場合、引数エラーとなります。
通信方法の入力を省略した場合、通信可能な方法を検索して通信します。
また“PowerShell”は管理サーバがWindowsの場合に指定可能です。管理サーバがWindows以外の場合、引数エラーとなります。
RSH、REXECで通信する場合に使用する、標準エラー出力用の受付ポート番号です。
RSHの場合、512~1023の範囲で指定可能です。REXECの場合、1~65535の範囲で指定可能です。
通信方法がRSH、REXEC以外の場合は指定を無視します。
複数指定する場合はカンマ(,)で区切ります。また範囲を指定する場合はハイフン(-)で区切ります。
ポート番号は最大10個まで指定可能です。それより大きい場合、引数エラーとなります。
ポート番号の入力を省略した場合、“1014-1023”を使用します。
コマンドを実行するホストのOS種別です。
Windows、Linuxを指定します。なお、大文字/小文字は区別しません。
OS種別の入力を省略した場合、指定したホスト名またはIPアドレスを元に構成管理データベース(CMDB)を検索し、取得したOS種別の値をSystemwalker Runbook Automationが自動的に設定します。
OS種別の文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。
コマンドを実行するホストへSSH、Windows PowerShell、Telnetを利用して接続するユーザー名です。
または、rsh、rexecにおけるリモートホストのユーザー名です。
接続ユーザー名および接続に必要なパスワードの入力を省略した場合、指定したホスト名またはIPアドレスを元に構成管理データベース(CMDB)を検索し、取得した接続ユーザー名の値をSystemwalker Runbook Automationが自動的に設定します。
ファイル転送基盤を利用して接続する場合は、接続ユーザー名は以下のようになり変更できません。このため、ユーザー名を指定しても無効になります。
業務サーバがLinuxの場合: root
業務サーバがWindowsの場合: Administrator
接続ユーザー名の文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。
コマンドを実行するホストへSSH、Windows PowerShell、Telnetを利用して接続するユーザーのパスワードです。
または、rexecにおけるリモートホストのユーザーのパスワードです。
接続ユーザー名および接続に必要なパスワードの入力を省略した場合、指定したホスト名またはIPアドレスを元に構成管理データベース(CMDB)を検索し、取得した接続パスワードの値をSystemwalker Runbook Automationが自動的に設定します。
ファイル転送基盤を利用して接続する場合は、パスワードを指定しても無効になります。
接続に必要なパスワードの文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。
コマンドを実行するホストでコマンドを実行するユーザー名です。
実行ユーザー名およびexecpasswordの入力を省略した場合、指定したホスト名またはIPアドレスを元に構成管理データベース(CMDB)を検索し、取得した管理者ユーザーの値をSystemwalker Runbook Automationが自動的に設定します。CMDBに登録されていない場合は、接続ユーザー名で実行します。
hostnameに指定したホストがWindowsで、ファイル転送基盤を利用して接続する場合は、Administratorユーザーで実行します。このため、ユーザー名を指定しても無効になります。
実行ユーザー名の文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。
本運用操作部品ではexecpasswordの値を使用しません。execpasswordの値を指定した場合、無効となります。
運用操作部品の実行の完了待ち合わせ時間(秒)です。
300~86,400(1日)の範囲で指定が可能です。
(例) 完了待ち合わせを10分間行う場合:600
指定した時間を経過しても運用操作部品の実行が完了しない場合は、運用操作部品の処理を復帰値:201で中断します。
運用操作部品の実行の起動リトライ回数です。
運用操作部品が復帰値:161で終了した場合に、起動リトライを行う回数を指定します。0~5の範囲で指定が可能です。
起動リトライにより再実行した結果、運用操作部品が161以外の復帰値で終了した場合は、指定した起動リトライ回数に達していなくても運用操作部品の実行は終了します。運用操作部品の復帰値は最後に実行した値になります。
(例) 起動リトライを2回行う場合:2
運用操作部品のリトライ間隔(秒)です。
運用操作部品が復帰値:161で終了した場合に、起動リトライを行うまでの間隔を指定します。1~14400の範囲で指定が可能です。
(例) 300秒間隔でリトライを行う場合:300
timeout、retry、およびretry_intervalについて、指定を省略した場合や、範囲外の値を入力した場合は、運用操作部品実行定義ファイルで指定した値が有効になります。詳細は、“2.5 運用操作部品実行定義ファイル”を参照してください。
復帰値
アイコン | シンボル名 | 復帰値 | 意味 |
---|---|---|---|
成功 | 159~240以外 | コマンドの実行に成功しました。コマンドの復帰値です。 | |
失敗 | 161 | コマンドの実行に失敗しました。リトライ回数を指定した場合、リトライします。 | |
178 | コマンドにより実行中のプログラムが異常終了しました。 | ||
187 | 運用操作部品による操作を実施する際、業務サーバにネットワーク接続(SSH、Windows PowerShell、Telnet、RSH、REXEC)時の認証に失敗しました。 または、運用操作部品による操作を実施する際に、業務サーバとの通信処理(ファイル転送基盤)で異常が発生しました。実行結果にファイル転送基盤のエラーコードを出力します。エラーコードについては、“3.21 ファイル転送基盤の詳細コード”を参照してください。 | ||
188 | RBAエージェントが導入されていない業務サーバに対して運用操作部品による操作を実施中に、業務サーバとのネットワーク通信(SSH、Telnet、RSH、REXEC)が切断されました。 | ||
189 | 運用操作部品による操作を実施する際、業務サーバにネットワーク接続(SSH、Windows PowerShell、Telnet、RSH、REXEC)できませんでした。 または、運用操作部品による操作を実施する際に、業務サーバとの通信処理(ファイル転送基盤)で異常が発生しました。実行結果にファイル転送基盤のエラーコードを出力します。エラーコードについては、“3.21 ファイル転送基盤の詳細コード”を参照してください。 | ||
196 | 管理サーバがLinuxの場合に、指定できないオプションが指定されました。 | ||
197 | オプションの内容に誤りがありました。 | ||
200 | コマンドの実行が異常終了しました。 | ||
- | - | 201 | 運用操作部品の実行がタイムアウトしました。 |
202 | 運用操作部品が実行されませんでした。 | ||
203 | 運用操作部品の実行が失敗しました。管理サーバの環境に問題があります。 | ||
205 | 運用操作部品が実行されませんでした。運用操作部品の入力情報の指定に問題があります。 | ||
206 | 運用操作部品を正常に実行できませんでした。運用操作部品の出力情報の指定に問題があります。 | ||
207 | 運用操作部品が実行されませんでした。運用操作部品が管理サーバに登録されていない可能性があります。 | ||
208 | 運用操作部品の実行途中に自動運用プロセスのリカバリが行われたため、自動運用プロセスを中止状態にしました。 | ||
失敗 | 上記以外の159~240 | Systemwalker Runbook Automationで使用する復帰値です。 |
出力情報
変数 | 意味 |
---|---|
message | コマンドの実行に成功した場合、以下のメッセージを設定します。 The operation component was successful. commandlineオプションに指定されたコマンドの実行を制御する処理中に異常が発生した場合は、エラー内容を文字列として設定します。 |
command_stdout(※) | 実行したコマンドの標準出力を設定します。 |
command_stderr(※) | 実行したコマンドの標準エラー出力を設定します。 |
command_rcode | 実行したコマンドの復帰値を設定します。 |
returnCode | 復帰値を設定します。 |
※通信方法がTelnetの場合、標準エラー出力も“command_stdout”に設定します。“command_stderr”には何も出力しません。
注意事項
本運用操作部品は、hostnameに管理サーバ以外の情報を入力した場合、ファイル転送基盤、SSH、Windows PowerShell、Telnet、RSH、またはREXECを利用して動作を実現しています。少なくともいずれかの方法では通信可能となるように設定してください。各通信方法の注意事項については、“3.17 各通信方法の注意事項”を参照してください。
注1) hostnameに管理サーバの情報を入力した場合、管理サーバ内でのコマンド実行となるため、コマンドの仕様に従って指定してください。
接続ユーザーと実行ユーザーが異なる場合、“3.17.7 接続ユーザーと実行ユーザーが異なる場合の注意事項”を参照してください。
Windows PowerShellのコマンドレットを実行する場合やWindows PowerShellスクリプトを実行する場合、commandlineの先頭に“powershell -command”を付加してください。
(例) 説明が“Security”で始まっている適用済みの修正プログラムを取得するコマンドレットを実行する場合:
powershell -command Get-HotFix -description Security*
Windows PowerShellでスクリプトを実行する場合、以下の指定により、スクリプトの復帰値を取得できます。
(例) powershell -command $LASTEXITCODE = 0; "C:/work/example.bat";exit $LASTEXITCODE;
また、以下の指定により、スクリプトの実行時に発生した例外を検知することが可能です。
(例) powershell -command $LASTEXITCODE = 0; "C:/work/example.bat";exit $LASTEXITCODE;trap
{if ($LASTEXITCODE -eq 0) {$error;exit 1} else {$LASTEXITCODE}}
commandlineに記号が含まれる場合、Windows PowerShellの仕様により、記号によってはエスケープ文字“`(バッククォート)”を付加する必要があります。詳しくは、Windows PowerShellの仕様に従ってください。
各オプションには、半角カナ文字および以下の記号は使用しないでください。半角カナ文字および以下の記号を使用すると、運用操作部品の実行に失敗する場合があります。
「~」「£」「―」「∥」「¢」「¬」「 ̄」「¥」「〃」
業務サーバにSSH、Telnet、RSHまたはREXECで通信を行う場合は、commandlineオプションに日本語を指定すると運用操作部品の操作結果は保証されません。日本語を指定する場合は、業務サーバにRBAエージェントを導入する、またはWindows PowerShellで通信可能となるように設定してください。
復帰値について、Systemwalker Runbook Automationでは、159~240までの値を設定しています。159~240以外の復帰値、および159~240内でも未使用の復帰値は、Systemwalker Runbook Automationが設定した値ではなく、コマンドが出力した値です。コマンド自身を調査してください。
commandlineオプションに存在しないコマンド名を指定した場合、復帰値42のエラーとなる場合があります。
管理サーバにWindows PowerShell 2.0が導入されていない場合において、commandlineの先頭に“powershell -command”を付加すると復帰値42のエラーとなる場合があります。Windows PowerShellで通信する場合には、管理サーバにもWindows PowerShell 2.0の導入が必要となります。詳細は、“3.17.3 Windows PowerShellの注意事項”を参照してください。
管理サーバでファイアウォール機能を利用している場合、RSHまたはREXECで通信するためには、accportオプションで指定したポート番号について業務サーバからの通信を許可する必要があります。許可する方法については、OSのマニュアルを参照してください。
復帰値の確認は、Webコンソールで行います。詳細については、“Systemwalker Runbook Automation 運用ガイド”の“運用操作部品の実行結果を確認する”を参照してください。
201~208の復帰値が出力された場合は自動運用プロセスが中止状態またはエラー状態となり、以下の場所にエラーメッセージが出力されます。
管理サーバのイベントログ(管理サーバがWindows(R)の場合)
管理サーバのシスログ(管理サーバがLinuxの場合)
BPMNのカスタムメッセージ
上記いずれかの場所でメッセージを確認し、適切な対処を実施してください。メッセージの詳細については、“Systemwalker Runbook Automation メッセージ集”を参照してください。