[リモートのスクリプトを強制終了する]
リモートコンピュータ上で、スクリプトファイルを実行し、5秒後に強制終了します。
リモートでスクリプトを起動するには『HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings』に『Remote』という文字列値を値『1』で作成する必要があります。
悪用される可能性もありますので、公開サーバーには設定しない方が良いと思います。
【ソースコード】
[tips0094.vbs]
Option Explicit
On Error Resume Next
Dim objWshCtrl
Dim strRemotePC
Dim strScript
Dim objExecCmd
Set objWshCtrl = WScript.CreateObject("WshController")
If Err.Number = 0 Then
strRemotePC = "Comp01"
strScript = "rmt_test.vbs"
Set objExecCmd = objWshCtrl.CreateScript(strScript, strRemotePC)
WScript.Echo strRemotePC & " で " & strScript & " を実行します。"
objExecCmd.Execute
WScript.Sleep(5000)
If objExecCmd.Status = 1 Then
objExecCmd.Terminate
WScript.Echo "強制終了しました。"
Else
WScript.Echo "通常終了しました。"
End If
Else
WScript.Echo "エラー: " & Err.Description
End If
Set objExecCmd = Nothing
Set objWshCtrl = Nothing
[rmt_test.vbs]
Option Explicit
On Error Resume Next
Dim objFSO
Dim objFile
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\test.txt", 8, True)
objFile.WriteLine Now()
objFile.Close
WScript.Sleep(10000)
Set objFile = Nothing
Set objFSO = Nothing
【実行結果】
C:\> cscript //NoLogo tips0094.vbs
Comp01 で rmt_test.vbs を実行します。
強制終了しました。