Службы - Запуск скрипта по событию через планировщик задач

Ответить
Аватара пользователя
Profile

Службы - Запуск скрипта по событию через планировщик задач

Сообщение Profile »

Всем доброго времени суток.

Подскажите пожалуйста как правильно реализовать такую схему,

и можно ли это вообще сделать через планировщик задач?

...есть скрипт cmd, который должен запускаться, но только тогда, когда в системе запустится процесс, в моем случае - "dllhost.exe",

т.е. появился процесс "dllhost.exe" и сразуже запустился скрипт "run.cmd".
Аватара пользователя
Iska

Re: Службы - Запуск скрипта по событию через планировщик задач

Сообщение Iska »

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

Re: Службы - Запуск скрипта по событию через планировщик задач

Сообщение Iska »

Цитата Iska:



скрипт на WSH/PoSH с подписчиком событий на запуск процесса. Внутри подписчика проверяем имя вновь созданного процесса на соответствие искомому и исполняем потребные действия (которые имеет смысл перевести с пакетного файла в сам скрипт).
Службы - Запуск скрипта по событию через планировщик задач




ух, спасибо.

очень интересно, но не совсем понятно как это реализовать через wsh)

...не сильно силен в скриптах, поэтому и хотел через планировщик это сделать.

буду очень благодарен, если покажете пример, что бы было от чего отталкиваться
Аватара пользователя
Iska

Re: Службы - Запуск скрипта по событию через планировщик задач

Сообщение Iska »

Ну, например:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

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
Ответить

Вернуться в «Microsoft Windows 7»