次の方法で共有


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 メソッド