windows 批量执行命令的脚本

时间:2024-03-18 07:30:57

        因为老板一个电话,我的国庆节就没了。。。。,老板要我写个东西,能对一批windows机器完成一些加组加权限的操作,虽然是非常的简单,但是因为我走了很多弯路,一开始想用powershell来写,后来又改成VBS的,最后还是用了最简单的CMD的命令的来完成,代码如下:

 

@echo off
set user=test

for /f "tokens=1,2" %%i in (iplist.txt) do (
       echo -------%date%--%time%------------%%i------------------- > %%i.txt
 wmic /node:%%i /user:%user% /password:%%j process call create "sc sdset PatrolAgent D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;LCRPWP;;;AU)(A;;CCLCSWLOCRRC;;;IU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)" >> %%i.txt 2>&1
 if not errorlevel 0 echo %%i grant ERROR!!! >> error.log
 wmic /node:%%i /user:%user% /password:%%j process call create "net localgroup \"performance monitor users\" patrol /add">>%%i.txt 2>&1
 if not errorlevel 0 echo %%i add performance group ERROR!!! >> error.log
 wmic /node:%%i /user:%user% /password:%%j process call create "net localgroup \"Remote Desktop Users\" patrol /add">>%%i.txt 2>&1
 if not errorlevel 0 echo %%i add Remote group ERROR!!! >> error.log
 wmic /node:%%i /user:%user% /password:%%j process call create "net localgroup administrators patrol /delete">>%%i.txt 2>&1
 if not errorlevel 0 echo %%i delete administrotrs group ERROR!!! >> error.log
)
echo on

 

       你妹的,就这么几行命令,竟然搞了3天时间。。。。,其实很简单,就是调用WMI远程执行一个sc的命令,赋予patrolAgent这个服务相关的权限,IP和密码的信息从iplist.txt 这个文件里提取,iplist.txt 的格式是每行一个主机的信息,列之间用空格或制表符分隔,好了,贴出来给大家共享,不要像我一样浪费3天的假期。。。。。