用于检查远程进程并“杀死”该脚本的脚本

时间:2018-06-26 00:56:39

标签: batch-file cmd

我需要创建一个脚本,该脚本将在2K12R2目录服务器上执行,并且需要

  1. 检查两个Windows 10工作站上是否存在远程进程(Calculator.exe),并杀死/终止该进程(如果存在)。

a。该脚本应使用for循环,该循环读取名为hosts.txt的文本文件,该文件包含Windows 10工作站的主机名

b。该脚本应使用tasklist和taskkill或wmic查询来枚举进程(Calculator.exe)并将其杀死。

到目前为止,这是我所拥有的,但是我不确定如何执行for循环来检查文本文件中的主机名。

回声

任务列表/ fi“图像名称eq Calculator.exe” |找到“:”>空

如果错误级别为1,则taskkill / f / im“ calculator.exe”&exit

1 个答案:

答案 0 :(得分:1)

您可以单行完成,不需要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

您可能需要在TaskList和TaskKill中同时使用/U/P选项,在提示符后输入每个命令并在/?之后输入用法信息。