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

本文介绍了一种通过批处理脚本实现对大量服务器上的SNMP服务进行并发配置的方法,包括修改共同体名称及允许接收SNMP包的主机地址,提高了网络监控配置的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[背景]公司最近上了百余台服务器,为了给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文件.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值