在多台服务器上运行命令

在多台服务器上运行命令

我想使用响应文件在多台服务器上运行一个基本命令,类似于如何 ping 多个服务器并返回其 IP命令。我可以从我的工作站运行该命令,它会正确返回所有信息。

schtasks /query /v /fo csv /nh >> \\my-pc\c$\temp\details_sched_tasks.csv

答案1

执行程序支持计算机名称或 IP 的文本列表作为参数。

例子:

psexec /u domain\adminguy @computerlist.txt \\server\share\command_to_run.bat

答案2

可以使用 dsquery 将服务器移植到列表中,然后使用 psexec 使用输出在远程计算机上执行 schtask。它看起来像这样。

dsquery computer ou=serverOU,dc=microsoft,dc=com* -o rdn > list.txt

FOR /F "tokens=1 delims=" %%a in ('type list.txt') DO psexec \\%%a schtasks /query /v /fo csv /nh >> \\my-pc\c$\temp\details_sched_tasks.csv

答案3

这个选项效果最好。

计划任务的详细视图

  • 创建一个名为 server_list.txt 的文件并提供您想要运行该命令的所有服务器的名称。
  • 登录到您希望运行命令的域中的服务器。
  • 将文件放入 d:\temp 等目录中,或者直接放入 d:\ 的根目录中
  • 打开命令提示符并转到包含服务器列表的同一目录。
  • 将以下命令复制/粘贴到命令窗口中并按回车键。

对于(server_list.txt)中的 /f %x 执行(schtasks /query /s %x /v /fo csv /nh >> d:\sched d:\sched_tasks.csv)

相关内容