批量获取成员机管理员组用户信息

作者: 不详 2013/6/30 22:09:02

熟悉使用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这台机器的本地管理员组成员信息就是错误的)

 

 

好了,基本的过程差不多就结束了。

特别推荐

玩家留言 跟帖评论
查看更多评论