Скрипт для проверки удаленного процесса и «убить» его, если существует - PullRequest
0 голосов
/ 26 июня 2018

Мне нужно создать скрипт, который будет выполняться на сервере каталогов 2K12R2 и должен

  1. Проверить обе рабочие станции Windows 10 на наличие удаленного процесса (Calculator.exe) и уничтожить / завершитьпроцесс, если он существует.

a.Сценарий должен использовать цикл for, который считывает текстовый файл hosts.txt, содержащий имена хостов рабочих станций Windows 10

b.Скрипт должен использовать tasklist и taskkill или wmic-запрос для перечисления процесса (Calculator.exe) и его уничтожения.

Это то, что у меня есть, но я не уверен, как сделать цикл for дляпроверьте текстовый файл для имен хостов.

echo off

tasklist / fi "imagename eq calculator.exe" | find ":"> nul

если errorlevel 1 taskkill/ f / im "calculator.exe" и выйти

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете сделать это в одной строке, не требуется For петля требуется :

Использование WMIC

@WMIC /Node:@hosts.txt Process Where "Name='calc.exe'" Call Terminate

В зависимости от привилегий, вам может понадобиться включить /User:privilegedusername и /Password:privilegeduserpassword.


Или вы можете использовать петлю For и TaskList / TaskKill:

@For /F "Tokens=*" %%A In (hosts.txt) Do @TaskList /S %%A|Find /I "calc.exe">Nul&&@TaskKill /S %%A calc.exe /F

Вам может потребоваться использовать опции /U и /P с TaskList и TaskKill, введите каждую команду, а затем /? в приглашении для получения информации об использовании.

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