Завершение всех ненужных процессов с помощью пакетного скрипта? - PullRequest
0 голосов
/ 28 мая 2019

В качестве меры безопасности я хотел бы, чтобы я мог принудительно завершить все процессы, которые не требуются для работы операционной системы Windows. Кроме того, я хочу убедиться, что новый процесс не запускается, и распечатать все завершенные процессы, чтобы я знал, где искать. Это сделано для того, чтобы в случае, если я случайно загрузил вредоносное ПО и оно все еще находилось на ранних стадиях, я мог бы устранить возможные повреждения и упростить удаление источника. Я не знаю, как подойти к этому вопросу, и поэтому я обращаюсь за помощью по своему собственному вопросу. Заранее спасибо :)

PS: Если есть способ предоставить кнопку выхода для пакетного сценария, это было бы здорово, но не обязательно! :)

1 Ответ

0 голосов
/ 29 мая 2019

Вы можете сделать это с помощью комбинации tasklist и taskkill.

Составьте список безопасных программ и проведите перекрестную проверку для каждой выполняемой в данный момент задачи, убив ее, если ее нет наlist.

@echo off
setlocal enabledelayedexpansion

set safeArray="system idle process" "system" "registry" "svchost.exe" & rem etc

for /f "tokens=1,2 delims=," %%i in ('tasklist /fo csv /nh') do (
    set tmp=0
    for /f %%k in ('echo %safeArray% ^| find /i /c "%%~i"') do set /a tmp+=%%k
    if !tmp! lss 1 echo I want to taskkill - %%~i  PID: %%~j
)

pause

Я прямо сейчас исключил фактическое убийство из скрипта, так как вы захотите сначала настроить свой безопасный массив.
Заменить echo I want to taskkill… строку на taskkill /pid %%~j.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...