Мне нужна помощь в убийстве putty.exe путем поиска процесса по его описанию, даже если пользователь изменил имя и имя класса (заголовок win) для putty.exe.
if process description on process list = SSH, Telnet and Relogin client
then kill putty.exe or whatever they named it
Могу ли я сделать это из cmd, используя powershell или wmic?
решение1
Это можно сделать с помощью следующей команды PowerShell:
(get-process | ? {$_.Description -eq "SSH, Telnet and Rlogin Client"}).kill()
в деталях:
Get-Process
используется для получения списка всех запущенных процессов.where-object {}
alias? {}
используется для запроса всех объектов на предмет нужного описания процесса и выбирает все объекты, описание которых совпадает с указанной строкой.- метод
.kill()
завершает выбранный процесс.
Обратите внимание, что это будет работать только на PowerShell с повышенными привилегиями, в противном случае вы не сможете прочитать описание большинства процессов из-за проблем с разрешениями, и ваш запрос where-object никогда ничего не найдет.