Как закрыть / завершить / убить экземпляр приложения с помощью VBS?

Как закрыть / завершить / убить экземпляр приложения с помощью VBS?

Я попробовал следующий код, предложенный на нескольких постах, и он не работал.

Set x =  GetObject(,"xxx.Application")
x.quit 

1 ответ

Решение

Я думаю, что однажды я использовал WMI, и это сработало нормально - при условии, что скрипт запускается с правами доступа, необходимыми для уничтожения рассматриваемых процессов (другими словами, права администратора для системных процессов, права пользователя для процессов пользовательского контекста - я полагаю, что быть вовлеченными Привилегии NT / Права NT (общесистемные привилегии) ​​и настраиваемые параметры разрешений ACL ( список контроля доступа - привязанный к объектам), а также - конфигурация которых может варьироваться от сайта к сайту):

Замечания: the below script will kill all Notepad.exe processes! (unless access is denied)

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'Notepad.exe'")

For Each objProcess in colProcessList
    objProcess.Terminate()
Next

Некоторые ссылки:

Другие вопросы по тегам