|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - VBS скрипт автоматической перезагрузки роутера |
|
|
VBS/WSH/JS - VBS скрипт автоматической перезагрузки роутера
|
|
Новый участник Сообщения: 1 |
Всем привет. Стояла задача найти скрипт, который бы запускался по расписанию и проверял доступность сайтов типа яндекс, гугл, в случае отсутствия пинга, запускал бы telnet и перезагружал роутер, был найден вот такой скрипт:
Function PcOnline (strComputer)
'Check if the remote machine is online.
Dim objPing,objStatus
Dim TextStream, TimeVar
Dim fso, tf
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select Replysize from Win32_PingStatus where address = '" & strComputer & "'")
For Each objStatus in objPing
If IsNull(objStatus.ReplySize) Then
PcOnline=False
'Пишем Лог файл
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("c:\routerlog.txt")) Then
Set tf = fso.OpenTextFile("c:\routerlog.txt",ForAppending, True)
tf.WriteLine(Now() & " " & strComputer & " is down ")
tf.Close()
Set fso = Nothing
Set tf = Nothing
Else
Set tf = fso.CreateTextFile("c:\routerlog.txt",ForAppending, True)
tf.WriteLine(Now() & " " & strComputer & " is down ")
tf.Close()
Set fso = Nothing
Set tf = Nothing
End If
' Конец Лог файла
Else
PcOnline = True
'Wscript.Echo strComputer & " is responding to a ping "
End If
Next
Set objPing=Nothing
Set objStatus=Nothing
End Function
Dim fsot, tft
Const ForReading = 1, ForWriting = 2, ForAppending = 8
If PcOnline("www.ya.ru")_
OR PcOnline("www.google.com")_
Then
' если статус = 0, пустая строка — другое
'WScript.Timeout = 4
'Wscript.Echo "all ok"
Set fsot = CreateObject("Scripting.FileSystemObject")
Set tft = fsot.OpenTextFile("c:\routerlog.txt",ForAppending, True)
tft.WriteLine(Now() & " " & "------norm------")
tft.Close()
Set fsot = Nothing
Set tft= Nothing
WScript.Quit 0
Else
'WScript.Echo "Reboot"
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "telnet.exe 192.168.0.1"
WScript.Sleep 2000
oShell.SendKeys "admin" & chr(13)
WScript.Sleep 2000
oShell.SendKeys "password" & chr(13)
WScript.Sleep 2000
oShell.SendKeys "reboot" & chr(13)
WScript.Sleep 2000
oShell.SendKeys "^({]})q" & chr(13)
WScript.Quit 255
End If
Set fsot = CreateObject("Scripting.FileSystemObject")
Set tft = fsot.OpenTextFile("c:\routerlog.txt",ForAppending, True)
tft.WriteLine("------------------------------------")
tft.Close()
Set fsot = Nothing
Set tft= Nothing
Скрипт работает, если бы не одно очень существенное НО, после запуска клиента telnet, вместо логина администратора роутера(admin), пишет какую то билиберду. Скрин прилагаю, никак не могу понять почему так происходит, такое ощущение что пытается передавать не в той кодировке. Если в ручную конектится к роутеру, без использования скрипта, и вбивать логин пароль руками, все в порядке, все работает. Очень прошу помощи, спасибо. |
|
|
Отправлено: 08:22, 07-11-2014 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ваш случай: VBS/WSH/JS - Не корректно работает VBS-скрипт.
См. также фильтр по «telnet» или поиск по «telnet». |
|
Отправлено: 08:55, 07-11-2014 | #2 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| CMD/BAT - Bat-ник для автоматической перезагрузки приложения через определенное время | okamigo | Скриптовые языки администрирования Windows | 1 | 23-10-2013 15:18 | |
| Скрипт автоматической установки драйверов | batyaPS | AutoIt | 0 | 05-07-2012 03:17 | |
| VBS/WSH/JS - Скрипт для автоматической отправки файла | pers26 | Скриптовые языки администрирования Windows | 0 | 02-03-2012 16:03 | |
| VBS/WSH/JS - [решено] Скрипт автоматической настройки сети | Комсомолец | Скриптовые языки администрирования Windows | 3 | 24-08-2009 13:00 | |
| Интернет - Скрипт автоматической настройки IE | Kirill NN | Microsoft Windows 2000/XP | 3 | 18-03-2008 15:27 | |
|