熟悉使用AT命令远程给客户端批量添加任务计划的过程,使客户端在指定时间内运行指定程序。其实使用schtasks命令也做到AT命令的效果,本文只是重点介绍解决思路。
与使用组策略批量添加任务计划相比
优点:1.在客户端少的情况下效率更高。
2.在工作组环境下也可以使用(需提前统计客户端管理员的账号密码)
缺点:1.准备过程比较繁琐。
2.在脚本运行之前要确保客户端全部处于开机状态
本文中搜集域内成员机的信息需要用到的都是两个脚本
1. Admin.bat
此脚本的目的是搜集计算机管理员组的用户信息,并且把搜集到的信息上传到文件服务器共享中。
2. job.bat
此脚本的目的是批量在指定计算机上创建任务计划,让其在指定时间内运行admin.bat脚本,此脚本需要指定需要搜集计算机信息的列表,此列表保存到同目录的serverlist.txt文件中。
下面来介绍具体的操作方法
一.新建一个共享路径
在文件服务器或者域控上创建一个共享,权限设置为everyone可以读写
二.创建admin.bat脚本
在刚刚创建的共享上新建admin.bat脚本
脚本内容如下:
echo 主机名:%computername% >%temp%\%computername%.txt net localgroup administrators >>%temp%\%computername%.txt net use \\共享路径 copy %temp%\%computername%.txt \\共享路径 |
需要把\\共享路径更改为刚刚创建的那个共享的路径,搜集到的计算机信息将会上传到该路径下。
三.创建serverlist.txt文件
整理一个需要统计服务器的列表保存到serverlist.txt文件中
注意:服务器地址需要一行写一个,每行可以写成主机名或者IP地址
如果服务器地址比较多的话,可以通过脚本把域中的计算机信息导出来,之后在通过excel修改成指定格式就可以
四.创建job.bat脚本
脚本格式如下
for /f %%i in (serverlist.txt) do at \\%%i 时间 \\需要执行的脚本共享路径 pause |
注意:“\\需要执行的脚步共享路径”需要改为admin.bat文件共享的绝对路径。
“时间”改为脚本执行的某个时间,建议比现在的时间多半个小时或一个小时。
五.执行job.bat文件
建议把job.bat和serverlist.txt文件都拷贝到域控上,并使用domain admin组的成员来执行该文件
注意:job.bat和serverlist.txt需要在同一目录下
运行后检查命令窗口有没有报错的显示
客户端多的话可以考虑分批执行
六.查看共享上搜集到的信息
等待任务计划执行后,检查共享路径是否生成下列文件。
如果信息已经搜集完毕,为了保证安全建议关闭这个共享
七.合并搜集到的信息到word文档
这时可以使用copy *.txt admininfo.doc命令把所有搜集到的信息保存到word文档中
合并到word文档中后,打开word文档中显示的效果如下
这时,我们可以使用word文档中的查找\替换功能批量去掉一些无用的信息,下图为修改后的word文档的内容
(我这里机器因为经常测试所以可能系统有点问题,比如WIN08R2A这台机器的本地管理员组成员信息就是错误的)
好了,基本的过程差不多就结束了。