8.10.2 NetExec自PC/他PC上の実行ファイルを呼び出す

機能
複数パラメタ指定で実行ファイル(EXEファイル,BATファイル,COMファイル,SPTファイル,CMDファイル,関連付けられたファイル)を呼び出します。ほかのコンピュータ上の実行ファイルも呼び出せます。終了待ちの有無を指定できます。
形式

NetExec ( 〔CompName〕 , FileName , Flag , 〔ExecDirName〕 , 〔ExecPlace〕 , 〔Option〕 〔, Param1 , Param2 , …〕 )

指定項目
CompName
呼び出すコンピュータ名を文字列,または値を格納した変数名で指定します。
この値は省略できます。省略した場合,このコマンドを実行するコンピュータのコンピュータ名を仮定します。
なお,指定する他のコンピュータのOSはWindows NT,Windows 2000,Windows Server 2003,およびWindows XPで,JP1/Scriptがインストールされていなければなりません。また,アクセスするためのアカウントについては「2.2 他のコンピュータとの通信時のアカウント」を参照してください。
FileName
呼び出す実行ファイル名を文字列,または値を格納した変数名で指定します。
実行ファイルに指定できるファイルの種類は次のとおりです。
  • 実行形式ファイル(.EXE)
  • MS-DOSバッチファイル(.BAT)
  • MS-DOS実行形式ファイル(.COM)
  • JP1/Scriptスクリプトファイル(.SPT)
  • コマンドスクリプト(.CMD)
  • 関連付けられたファイル
空白を含むパス,またはファイル名を指定する場合に,パス,またはファイル名をダブルクォーテーション(")で囲む必要はありません。
Flag
FileNameで指定された実行ファイルの終了待ちをするときは真(True)を,終了待ちをしないときは偽(False)を指定します。
ExecDirName
FileNameで指定された実行ファイルのカレントディレクトリ名を文字列,または値を格納した変数名で指定します。
この値は省略できます。省略した場合,実行ファイルのディレクトリ名を仮定します。
なお,この値はFileNameで指定された実行ファイルがJP1/Scriptファイル以外の場合に有効となります。
ExecPlace
FileNameで指定された実行ファイルをサービス空間で実行するときには真(True)を,ログオン空間で実行するときには偽(False)を指定します。
この値は省略できます。省略した場合,真(True)を仮定します。
なお,CompNameで指定されたコンピュータでは,この値に真(True)が指定された場合にはJP1/Scriptサービスが,偽(False)が指定された場合にはScriptランチャが開始されていなければなりません。
Option
FileNameで指定された実行ファイルがJP1/Scriptスクリプトファイル(.SPT)の場合,オプションを指定します。
この値には次の値を指定できます。
意味
CopyFile呼び側に存在するスクリプトファイルをCompNameで指定されたコンピュータにコピーして実行します。
この場合,インストールフォルダの"DATA"フォルダ下に呼び側コンピュータ名のフォルダを作成し,その下にスクリプトファイルをコピーします。コピーするスクリプトファイルの実行環境ファイル(.SPV)はコピーしません。よってコピーしたスクリプトは実行環境ファイルのない状態で実行します。また,コピーしたスクリプトファイルと同名の実行環境ファイルが呼び側コンピュータ名のフォルダ下に存在する場合はコピー時に削除します。
JP1/Script 06-00以降では,コピーするスクリプトファイルと同名のメニュー情報ファイル(.SPN)が存在する場合メニュー情報ファイルも上記のフォルダ下にコピーします。同名のファイルが呼び側に存在する場合はコピー時に削除します。
このコマンドの実行終了後,コピーしたスクリプトファイル,およびメニュー情報ファイルは削除し,コピーしたスクリプトの実行後に出力される解析トレースファイル,および実行トレースファイルは呼び側にコピーして戻します。
なお,オプションにCopyFileを指定した場合,Flagで指定した値にかかわらずコピーしたスクリプトの実行が終了するまでWindowsのログオフやシャットダウンはしないでください。
この値は省略できます。省略した場合,CompNameで指定されたコンピュータに存在するスクリプトファイルを実行します。
また,FileNameで指定された実行ファイルがJP1/Scriptスクリプトファイル(.SPT)以外の場合は無効になります。
Param131
FileNameで指定されたファイルの実行に必要なパラメタがある場合,パラメタを文字列,数値,または値を格納した変数名で指定します。
複数のパラメタを指定できます。
JP1/Script 06-00以降では,複数のパラメタを一つずつ格納した一次元の配列変数を変数名で指定することもできます。
パラメタの記述規則に関しては,「6.2 コマンドラインに関する規則」を参照してください。
なお,パラメタに次の文字列を指定した場合,起動するアプリケーション側でのウィンドウ表示時のデフォルトとして扱われます。明示的にウィンドウを表示するアプリケーションには有効になりません。
パラメタ意味
"/SPT:HIDE"アプリケーションのウィンドウを非表示にします。
"/SPT:MIN"アプリケーションのウィンドウをアイコン化します。
"/SPT:MAX"アプリケーションのウィンドウを最大表示します。
パラメタはコマンドラインパラメタとして実行ファイルに渡されますが,"/SPT:HIDE","/SPT:MIN",および"/SPT:MAX"パラメタはコマンドラインパラメタとしては渡されません。
説明
指定されたコンピュータ上の実行ファイルを実行します。
Flagに真(True)が指定された場合は,呼び出したアプリケーションが終了するまで待機し,偽(False)が指定された場合は,アプリケーションが終了するまで待機しないで次のコマンドを処理します。
コマンドが正常に実行された場合は真(True)を,それ以外の場合は偽(False)を,コマンドの実行結果として返します。
アプリケーションの終了待ちをし,コマンドの実行結果が真(True)の場合は,実行ファイルの終了コードを_EXEC_RTN_予約変数に符号付きの数値で格納します。終了待ちをしない場合やコマンドの実行結果が偽(False)の場合は,_EXEC_RTN_予約変数には何も格納されません。
また,アプリケーションの終了待ちをしない場合,実行ファイルの識別子を_EXEC_ID_予約変数に格納します。
補足1
Flagに偽(False)が指定され,スクリプト終了時にアプリケーションがまだ終了していない場合は,その時点でアプリケーションが終了するまで待機します。このような終了待ちをしないでスクリプトを終了するには,Exitコマンド(オプションにSkip指定)を使用します。Execコマンドの例2を参照してください。
また,CompNameにほかのコンピュータを指定する場合,LAN環境下での動作だけを保証しています。ファイアウォールには対応していません。
JP1/Script 07-00以降では,NetExecコマンド実行時にインストールフォルダの"LOG"フォルダ下"STXNetExec_Client",および"STXNetExec_Server"フォルダを作成し,エラーが発生した場合,このフォルダ下にエラーログファイルを出力します。
07-00より前のバージョンでエラーログの出力先フォルダがインストールフォルダの"DATA¥LOG"であるバージョンに07-00を上書きインストールした場合,前バージョンでの出力先フォルダ"DATA¥LOG"下にエラーログファイルを出力します。
エラーログファイルの出力を抑止する場合は,次に示すレジストリの値に0を設定してください。
〔レジストリキー〕

HKEY_LOCAL_MACHINE¥SOFTWARE¥Hitachi¥JP1/Script¥SPTX¥
Option

〔値名〕

Net_Trace

〔値のデータタイプ〕

REG_DWORD

〔値〕
0:エラーログファイルを出力しない
1:エラーログファイルを出力する(初期値)
また,エラーログファイルの出力先ファルダを変更する場合は,次に示すレジストリの値にフォルダ名を指定してください。
〔値名〕

Net_Trace_Directory

〔値のデータタイプ〕

REG_SZ

〔値〕
エラーログファイルの出力先フォルダ
補足2
Windows Vistaでは,管理者権限が必要な実行ファイルを実行する場合,OSのユーザアカウント制御ダイアログが表示されるときがあります。詳細は,「1.8.4 コマンドの動作」を参照してください。

' コンピュータ"SOP4A065(SCRIPT)"上のスクリプトファイルを
' ログオン空間で起動する。
comp1="SOP4A065(SCRIPT)"
prm1="/SPALV(2)"
prm2="/SPXLV(2)"
rtn1=NetExec ( comp1,_TEMP_+"NETWORK.SPT" ,True , ,False , _
,prm1 ,prm2 )
' スクリプトを終了する。
If  rtn1 = True  Then
 ' NetExecコマンドが正常終了の場合は呼び出したスクリプト
 ' ファイルの終了コードを返す。
 Exit ( _EXEC_RTN_ )
Else
 ' NetExecコマンドが異常終了の場合はエラー詳細コードを返す。
 Exit ( _RTN_ )
End

対象バージョン
JP1/Script 05-00以降