PDA

Показать полную графическую версию : Запуск скрипта по событию через планировщик задач


Profile
03-04-2021, 12:10
Всем доброго времени суток.
Подскажите пожалуйста как правильно реализовать такую схему,
и можно ли это вообще сделать через планировщик задач?
...есть скрипт cmd, который должен запускаться, но только тогда, когда в системе запустится процесс, в моем случае - "dllhost.exe",
т.е. появился процесс "dllhost.exe" и сразуже запустился скрипт "run.cmd".

Iska
03-04-2021, 12:28
Profile, скрипт на WSH/PoSH с подписчиком событий на запуск процесса. Внутри подписчика проверяем имя вновь созданного процесса на соответствие искомому и исполняем потребные действия (которые имеет смысл перевести с пакетного файла в сам скрипт).

Profile
03-04-2021, 13:17
скрипт на WSH/PoSH с подписчиком событий на запуск процесса. Внутри подписчика проверяем имя вновь созданного процесса на соответствие искомому и исполняем потребные действия (которые имеет смысл перевести с пакетного файла в сам скрипт). »

ух, спасибо.
очень интересно, но не совсем понятно как это реализовать через wsh)
...не сильно силен в скриптах, поэтому и хотел через планировщик это сделать.
буду очень благодарен, если покажете пример, что бы было от чего отталкиваться

Iska
03-04-2021, 13:51
Ну, например:
Option Explicit

Dim objSWbemServicesEx
Dim objSWbemEventSource
Dim objSWbemObjectEx

Dim lngProcessID


Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
Set objSWbemEventSource = objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE " & _
"TargetInstance ISA 'Win32_Process' AND " & _
"TargetInstance.Name = 'notepad.exe'" _
)

Do
objSWbemEventSource.NextEvent
' Поместите Ваш код ниже:
objSWbemServicesEx.Get("Win32_Process").Create "calc.exe", Null, Nothing, lngProcessID
Loop

Set objSWbemEventSource = Nothing
Set objSWbemServicesEx = Nothing

WScript.Quit 0




© OSzone.net 2001-2012