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>
|