Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   Запуск скрипта по событию через планировщик задач (http://forum.oszone.net/showthread.php?t=348449)

Profile 03-04-2021 12:10 2954677

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

Iska 03-04-2021 12:28 2954679

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

Profile 03-04-2021 13:17 2954683

Цитата:

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

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

Iska 03-04-2021 13:51 2954684

Ну, например:
Скрытый текст
Код:

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



Время: 14:40.

Время: 14:40.
© OSzone.net 2001-