VBS мониторинга процесса по времени
Доброго времени суток! Есть скрипт
Код:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery( _
"Select Name From Win32_Process " _
& "Where Name = 'proc1.exe'")
If colProcesses.Count = 0 Then
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run "proc2.exe"
End If
proc2 по факту батник для запуска proc1 с ключами.
Данный скрипт необходимо поставить в цикл, на проверку например каждые 5 минут наличия Proc1 и соответственно запуска proc2 при его отсутствии.
|
Petya V4sechkin |
29-01-2017 15:59 2707232 |
Цитата:
Цитата san1kan
на проверку например каждые 5 минут
|
Обычно это делается с помощью "Планировщика заданий".
|
Цитата:
Цитата Petya V4sechkin
Обычно это делается с помощью "Планировщика заданий". »
|
Планировщик конечно вариант, но хотелось бы через скрипт. Примерно как в этом. Только тут на 1 процесс сделано.
Код:
Option Explicit
Dim lngProcessID
With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
Do
If .Get("Win32_Process").Create( _
"""C:\Program Files\Internet Explorer\iexplore.exe"" -k ""file://C:\WINDOWS\Help\Tours\htmlTour\default.htm""", _
Null, Null, lngProcessID) = 0 Then
.ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE " & _
"TargetInstance ISA 'Win32_Process' AND " & _
"TargetInstance.ProcessID = '" & CStr(lngProcessID) & "'").NextEvent
Else
' Не удалось запустить процесс
Exit Do
End If
Loop
End With
WScript.Quit 0
|
Время: 21:49.
© OSzone.net 2001-