我需要创建一个脚本,该脚本将在2K12R2目录服务器上执行,并且需要
a。该脚本应使用for循环,该循环读取名为hosts.txt的文本文件,该文件包含Windows 10工作站的主机名
b。该脚本应使用tasklist和taskkill或wmic查询来枚举进程(Calculator.exe)并将其杀死。
到目前为止,这是我所拥有的,但是我不确定如何执行for循环来检查文本文件中的主机名。
回声
任务列表/ fi“图像名称eq Calculator.exe” |找到“:”>空
如果错误级别为1,则taskkill / f / im“ calculator.exe”&exit
答案 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
选项,在提示符后输入每个命令并在/?
之后输入用法信息。