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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   монитор процесса и завершение (http://forum.oszone.net/showthread.php?t=316659)

d_dwen 11-07-2016 12:15 2649762

монитор процесса и завершение
 
Добрый день!
Помогите разобраться со скриптом.
Цель - скрипт будет висеть в автозагрузке. Постоянно мониторить процесс (за пример взял калькулятор).
Если калькулятор запущен, то вырубать его.
Сам по себе вроде как работает, но разово. (т.е. когда сам его запускаю он вырубает процесс и все. но когда в автозагрузке ничего не происходит)

подскажите в чем проблема. Я, наверно, запарил в Do Loop

Код:

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
Set colServices = objWMIService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'calc.exe'")
Do
Running = False
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objItem in colItems
If objItem.Name = "calc.exe" Then
Running = True
Exit For
End If
Next
If Not Running Then
WScript.Sleep 2000
Loop while Not Running
Dim oShell : Set oShell = CreateObject("WScript.Shell")
oShell.Run "taskkill /im calc.exe", , True
End If


Опиум 11-07-2016 13:15 2649801

d_dwen, то что он работает вообще видно?

greg zakharov 11-07-2016 13:59 2649825

Вообще, довольно странно получать список процессов через WMI, а грохать процесс с помощью taskkill. Во-вторых, что подразумевается под автозагрузкой: Run в реестре, задача в планировщике или просто ярлык в папке "Автозагрузка"?

megaloman 11-07-2016 16:06 2649868

Код:

Program = "calc.exe"

Set WMI = GetObject("winMgmts:")
SQuery = "Select *From Win32_Process Where Name=" + """" + Program + """"

Do
    Set Processes = WMI.ExecQuery(SQuery)
    For Each Process In Processes
        Process.Terminate
    Next
    WScript.Sleep 2000
Loop

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

Iska 11-07-2016 18:42 2649906

Script samples / Operating System / Processes / Processes and Threads / Prevent a Process from Running - VBScript, vbs, cscript, wscript, wsh, script, WMI.

С галереи его убрали что-ли, не пойму?!


Время: 06:38.

Время: 06:38.
© OSzone.net 2001-