убить процесс по его собственному описанию

убить процесс по его собственному описанию

Мне нужна помощь в убийстве 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 никогда ничего не найдет.

Связанный контент