|
Удалённое управление кнопкой RESET при помощи устройства DigiPing v2 (как альтернативу можно использовать UniPing RS 232) Задача – удаленная перезагрузка компьютеров оператором или по событию. Используя данный комплект оборудования можно перезагружать 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 по ссылке Статью прислал: Игнатьев Сергей |