Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Помогите со скриптом скана сети. (http://forum.oszone.net/showthread.php?t=323925)

glukin 17-02-2017 11:10 2712465

Помогите со скриптом скана сети.
 
Добрый день всем. Помогите плз написать скрипт.
Есть сеть 10.1.0.0-10.1.255.255.
Нужно сканить ее по SNMP и писать в файл SNMP.txt вида

DeviceName IN A IP-Address
DeviceName IN A IP-Address
DeviceName IN A IP-Address

Нашел, как узнать DeviceName для отдельно взятого устройства:
strTargetSnmpDevice = "10.1.36.1"

Set objWmiLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWmiServices = objWmiLocator.ConnectServer("", "root\snmp\localhost")

Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
objWmiNamedValueSet.Add "AgentAddress", strTargetSnmpDevice
objWmiNamedValueSet.Add "AgentReadCommunityName", "public"

Set colSystem = objWmiServices.InstancesOf("SNMP_RFC1213_MIB_system", , _
objWmiNamedValueSet)

For Each objSystem In colSystem
WScript.Echo objSystem.sysName
Next

А как это все в цикле сделать и чтобы в файл писалось? В vbs не силён, прошу помощи.

glukin 17-02-2017 22:34 2712640

Никто так и не направит на путь истинный? ((
Хоть в общих чертах скриптик, потом методом проб и ошибок подгоню его под свои нужды...
Затык у меня не в алгоритме, а в синтаксисе vbs. ((

glukin 20-02-2017 18:43 2713412

Готов заплатить разумную сумму. За полностью рабочий скрипт.

megaloman 20-02-2017 20:00 2713439

Цитата:

Цитата glukin
Нашел, как узнать DeviceName для отдельно взятого устройства: »

И оно работает?

glukin 20-02-2017 20:02 2713442

megaloman,
Да. Попробуйте на чем-нибудь, что умеет SNMP и откликается на коммунити "public"

megaloman 20-02-2017 21:00 2713468

Цитата:

Цитата glukin
А как это все в цикле сделать и чтобы в файл писалось? В vbs не силён, прошу помощи. »

Мне не на чем пробовать, тупо написал цикл и вывод в файл
Код:

File_Out = "Z:\Box_Out\SNMP.txt"
 
Set objWmiLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWmiServices = objWmiLocator.ConnectServer("", "root\snmp\localhost")
Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")

Set FSO = CreateObject("Scripting.FileSystemObject")
Set NFile = FSO.OpenTextFile(File_Out, 2, True)

For i = 0 To 255
  For j = 0 To 255
    strTargetSnmpDevice = "10.1." + CStr(i) + "." + CStr(j)
    objWmiNamedValueSet.Add "AgentAddress", strTargetSnmpDevice
    objWmiNamedValueSet.Add "AgentReadCommunityName", "public"

    Set colSystem = objWmiServices.InstancesOf("SNMP_RFC1213_MIB_system", , objWmiNamedValueSet)

    For Each objSystem In colSystem
        NFile.WriteLine objSystem.sysName + " IN A " + strTargetSnmpDevice
    Next
 
  Next
Next

NFile.Close

Ваша безграничная сумма в разумных пределах в успешном случае меня не интересует :)

glukin 21-02-2017 10:45 2713625

megaloman, Спасибо большое! Попробую завтра ночью, когда на работе буду.

glukin 25-02-2017 21:57 2714731

megaloman, после тщательного допиливания работает. Спасибо за направление.


Время: 14:10.

Время: 14:10.
© OSzone.net 2001-