Windows环境下并发处理远程脚本-阿里云开发者社区

开发者社区> 科技小先锋> 正文

Windows环境下并发处理远程脚本

简介:
+关注继续查看
[背景]公司最近上了百余台服务器,为了给cacti监控而开启了snmp,要更改snmp的共同体和可以接受来自那些机子的SNMP包.如果手工加的话,效率可想而知.所以就想到了用脚本WMI(snmp.vbs),但是在用psexec远程执行这个脚本也是很慢,因为它们是顺序性的,所以处理效率还是慢.所以,想到了批处理的并发(pro.bat和psexec.bat),这样不是更好嘛!
[过程]
snmp.vbs
const HKEY_LOCAL_MACHINE = &H80000002   
strComputer = "."
IP1="x.x.x.x"
IP2="x.x.x.x"
COMM="xxxx"
Set objRegistry=GetObject("winmgmts://"&strComputer&"/root/default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers"
strValueName = "1"
objRegistry.Delet.ue HKEY_LOCAL_MACHINE, strKeyPath, strValueName
dwValue1=IP1
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwValue1
dwValue2=IP2
strValueName1 = "2"
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName1, dwValue2
strKeyPath1 = "SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities"
strValueName = "public"
objRegistry.Delet.ue HKEY_LOCAL_MACHINE, strKeyPath1, strValueName
dwValue3="4"
strValueName1 = COMM
objRegistry.SetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath1, strValueName1, dwValue3

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='SNMP'")
For each objService in colServiceList
errReturn = objService.StartService()
Next
W..Sleep 20000
Set colServiceList = objWMIService.ExecQuery("Associators of " _
& "{Win32_Service.Name='SNMP'} Where " _
& "AssocClass=Win32_DependentService " & "Role=Dependent" )
For each objService in colServiceList
objService.StartService()
Next
 
pro.bat
for /l %%i in (1,1,254) do (start /min cmd /c psexec.bat x.x.x.%%i)
psexec.bat
psexec \\%1 -u admin -p pass cmd /c c:/snmp.vbs
if %errorlevel%==0 (echo %1 OK>>log.txt) else (echo %1 fail>>log.txt)
[结果]
     这样在客户端只要执行pro.bat,在客户端就会打开254个cmd端口,就像个多进程样去执行snmp.vbs.至于结果可以看log.txt文件.


本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/112443,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
来更快的Maven了,我的天,速度提升了8倍!(1)
更快的Maven来了,我的天,速度提升了8倍!(1)
43 0
Spring Boot Admin,贼好使!(8)
Spring Boot Admin,贼好使!(8)
22 0
Spring Boot Admin,贼好使!(5)
Spring Boot Admin,贼好使!(5)
35 0
升级了 Windows 11 正式版,有坑吗?(5)
升级了 Windows 11 正式版,有坑吗?(5)
8 0
升级了 Windows 11 正式版,有坑吗?(4)
升级了 Windows 11 正式版,有坑吗?(4)
8 0
Spring Boot Admin,贼好使!(3)
Spring Boot Admin,贼好使!(3)
31 0
升级了 Windows 11 正式版,有坑吗?(3)
升级了 Windows 11 正式版,有坑吗?(3)
9 0
Spring Boot Admin,贼好使!(4)
Spring Boot Admin,贼好使!(4)
29 0
升级了 Windows 11 正式版,有坑吗?(1)
升级了 Windows 11 正式版,有坑吗?(1)
3 0
6967
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载