2010年11月10日星期三

Windows Script勉強の5 高級3-WSHControllerの機能:リモートでスクリプトを実行

スクリプトをリモートで実行するにはWSHControllerが必要です。
// JScript.
RemoteTest.WSF
------------------------------- 
<package>
<job>
<script language="JScript">
var oController = new ActiveXObject("WSHController");
var oProcess = oController.CreateScript("c:\\wsh5.6\\beenhere.wsf", "remoteMachineNameOrIP");
// remoteでbeenhere.wsfを実行する。
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> ------------------------------- 実行完了後、remoteMachineのc:\\beenhere.txtを確認して、
作成できた、中身は今の時間であれば、成功です。
' 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>

没有评论: