ホーム‎ > ‎私の開発環境‎ > ‎

スクリプトをリモートで実行する

http://msdn.microsoft.com/ja-jp/library/cc392510.aspx

WSH 5.6 では、リモート システム上のスクリプトを実行できます。次のスクリプトは、この機能の使用例を示しています。 これらのスクリプトでは、ファイルはローカル マシン上の "c:\wsh5.6" というディレクトリ内に格納されていることを前提としています。ローカル パスとリモート マシン名は必要に応じて変更してください。

ローカル マシン上で RemoteTest.WSF を実行した後、DCOM によるユーザーの ID 確認処理が実行される間、実行が一時停止されます。"Done" というメッセージが表示されると、リモート マシン上の "c:\beenhere.txt" というファイルを参照して、コマンドの実行時刻 (リモート コンピュータのシステム時計を基準にした時刻) を確認できます。

// JScript.
RemoteTest.WSF
-------------------------------
<package>
<job>
<script language="JScript">
var oController = new ActiveXObject("WSHController");
var oProcess = oController.CreateScript("c:\\wsh5.6\\beenhere.wsf", "remmachine");
oProcess.Execute();
while (oProcess.Status != 2) WScript.Sleep(100);
WScript.Echo("Done");
</script>
</job>
</package>
-------------------------------
BeenHere.WSF
-------------------------------
<package>
<job>
<script language="JScript">
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fout = fso.CreateTextFile("c:\\beenhere.txt", true);
fout.WriteLine(new Date);
fout.Close();
</script>
</job>
</package>
-------------------------------

' VBScript.
RemoteTest.WSF
-------------------------------
<package>
<job>
<script language="VBScript">
set oController = CreateObject("WSHController")
set oProcess = oController.CreateScript("c:\wsh5.6\beenhere.wsf", "remmachine")
oProcess.Execute
While oProcess.Status <> 2
WScript.Sleep 100
WEnd
WScript.Echo "Done"
</script>
</job>
</package>
-------------------------------

BeenHere.WSF
-------------------------------
<package>
<job>
<script language="VBScript">
set fso = CreateObject("Scripting.FileSystemObject")
set fout = fso.CreateTextFile("c:\beenhere.txt", true)
fout.WriteLine Now
fout.Close
</script>
</job>
</package>

Comments