Удалённое управление кнопкой RESET при помощи устройства DigiPing v2
Удалённое управление кнопкой RESET при помощи устройства DigiPing v2 (как альтернативу можно использовать UniPing v3)
Задача – удаленная перезагрузка компьютеров оператором или по событию.
Используя данный комплект оборудования можно перезагружать 16 компьютеров.
Для решения данной задачи было использовано следующие оборудование DigiPing v2 (ПРОШИВКА DigiPing v50.7.8A-7) и плата NetPing Relay board а также написан скрипт.
DigiPing v2
NetPing Relay board
Все в сборе
Провода от RESET компьютера подключаем к контактам NO – нормально разомкнутый и COM. При таком подключении – при включении устройства DigiPing v2 на контакты RESET компьютера никакого сигнала не пройдет. Для подключении NetPing Relay board к контактам RESET компьютера использовался провод витая пара длиной 3 метра.
Подключаем на RESET компьютера
Комплектующие для подключения к RESET компьютера
Скрипт
''Данный скрипт позволяет удаленно нажимать на кнопку RESET компьютера
''или иначе говоря засылать 0 и 1 через SNMP на устройство
Dim objNamedArgs
Set objNamedArgs= WScript.Arguments.Named ''Создаём объект WshNamed
''==========================================
''окно диалога запроса на Reset
PushButton = MsgBox ("для Reset " & "Server1" & " нажмите ДА", 4, "RESET " & "Server1")
If PushButton = 6 Then
''==========================================
Const NET_SMNMP_PATH="D:\\SNMP\\bin" '' Путь по которому лежит файл snmpset.exe
''IP нашего устройства, Community записи,
''OID – ссылка на параметр который будем менять в устройстве,
''Значение которое будем записывать в выбранный параметр
''Call SNMPSet("192.168.0.100"," SWITCH ",".1.3.6.1.4.1.25728.8900.1.1.3.1","1")
''передаем параметры функции
Function SNMPSet(vServer, vCommunityString, vOID, strValue)
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell") ''Create filesystem objects
''Run the SNMPSet command and save results to tmp file
''Засылаем все в устройство
WshShell.Run "%comspec% /C " & NET_SMNMP_PATH & "\\snmpset -c " & _
vCommunityString & " -v 1 " & vServer & " " & vOID & " i " & strValue, 0, True
SNMPSet=""
End Function
''Задержка перед выполнение второй части скрипта (иначе время нажатия кнопки RESET)
''кнопка Reset нажата примерно 2 секунды
WScript.Sleep 2000
Const NET_SMNMP_PATH2="D:\\SNMP\\bin" '' Путь по которому лежит файл snmpset.exe
''IP нашего устройства, Community записи,
''OID (.1.3.6.1.4.1.25728.8900.1.1.3.1) – ссылка на параметр который будем менять в устройстве,
''У нас 16 каналов соответственно для 1 канала это (.1.3.6.1.4.1.25728.8900.1.1.3.1)
'' для второго (.1.3.6.1.4.1.25728.8900.1.1.3.2) для 16-го (.1.3.6.1.4.1.25728.8900.1.1.3.16)
''Значение которое будем записывать в выбранный параметр
Call SNMPSet("192.168.0.100","SWITCH",".1.3.6.1.4.1.25728.8900.1.1.3.1","0")
''передаем параметры функции
Function SNMPSet(vServer, vCommunityString, vOID, strValue)
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell") ''Create filesystem objects
''Run the SNMPSet command and save results to tmp file
WshShell.Run "%comspec% /C " & NET_SMNMP_PATH2 & "\\snmpset -c " & _
vCommunityString & " -v 1 " & vServer & " " & vOID & " i " & strValue, 0, True
SNMPSet=""
End Function
End If
Для проверки работы скрипта создаем, например test.vbs и вставляем туда текст скрипта.
Скрипт работает под Windows XP и Vista.
В данный скрипт взяты параметры устройства из представленных ниже рисунков WEB интерфейса устройства.
Для отправки SNMP запроса использовалась программа Net-SNMP качаем здесь http://net-snmp.sourceforge.net/download.html
Настройка устройства WEB интерфейс
Для правильной работы скрипта обязательно нужно предварительно выставить параметры линий ввода-вывода как показано на рисунке ниже.
Таблица OID
При написании данного описания использования устройств NetPing были использованы материалы с сайта производителя www.netping.ru (статьи, руководства пользователя и т.д. опубликованные на данном сайте)
Готовый vbs скрипт для этой статьи можно загрузить по ссылке (зеркало)
Еще пример использования устройств NetPing по ссылке
Статью прислал:
Игнатьев Сергей