CreateScript メソッド
WshRemote オブジェクトを作成します。
object.CreateScript(CommandLine,[MachineName])
引数
- object
WshController オブジェクトです。 - Commandline
必ず指定します。スクリプトのパスおよびスイッチを示す文字列値です。コマンド プロンプトから入力する場合と同じように指定します。スクリプトのパスは、スクリプト実行先のコンピュータ システムから見た形式ではなく、コントローラ コンピュータ システムから見た形式で指定します。 - MachineName
省略可能です。リモート コンピュータ システム (リモート スクリプトを実行するコンピュータ システム) の名前を示す文字列値です。UNC (Uniform Naming Convention) を使って指定します。
解説
CreateScript メソッドは、WshRemote オブジェクトのインスタンスへのハンドルを返します。スクリプト名のパス部分はローカルである必要はありません。つまり、ネットワーク共有上のスクリプトを参照できます。このため、あるコンピュータ システムから別のコンピュータ上のスクリプトを取得し、それをさらに別のコンピュータ上で実行することが可能になります。コンピュータ名を指定しなかった場合、リモート スクリプト オブジェクトはコントローラ コンピュータ システム上で実行されます (これが既定です)。コンピュータ名を指定した場合、リモート スクリプト オブジェクトは指定されたコンピュータ システム上で実行されます。CreateScript メソッドはリモート コンピュータ システムとの接続を確立し、スクリプトを実行できるようにセットアップしますが、スクリプトを実際に起動するには、WshRemote オブジェクトの Execute メソッドを呼び出す必要があります。
使用例
次のサンプル コードは、WshController オブジェクトの CreateScript メソッドを使って WshRemote オブジェクト (リモート スクリプトのインスタンス) を作成する例です。
VBScript
Dim Controller, RemoteScript
Set Controller = WScript.CreateObject("WSHController")
Set RemoteScript = Controller.CreateScript("test.js", "remoteserver")
WScript.ConnectObject RemoteScript, "remote_"
RemoteScript.Execute
Do While RemoteScript.Status <> 2
WScript.Sleep 100
Loop
WScript.DisconnectObject RemoteScript
Sub remote_Error
Dim theError
Set theError = RemoteScript.Error
WScript.Echo "Error " & theError.Number & " - Line: " & theError.Line & ", Char: " & theError.Character & vbCrLf & "Description: " & theError.Description
WScript.Quit -1
End Sub
JScript
var Controller = WScript.CreateObject("WSHController");
var RemoteScript = Controller.CreateScript("test.js", "remoteserver");
WScript.ConnectObject(RemoteScript, "remote_");
RemoteScript.Execute();
while (RemoteScript.Status != 2) {
WScript.Sleep(100);
}
WScript.DisconnectObject(RemoteScript);
function remote_Error()
{
var theError = RemoteScript.Error;
WScript.Echo("Error " + theError.Number + " - Line: " + theError.Line + ", Char: " + theError.Character + "\nDescription: " + theError.Description);
WScript.Quit(-1);
}
参照
CreateObject メソッド | CreateScript メソッド | WshRemote オブジェクト | Execute メソッド