Файл или скрипт для автоматической перезагрузки роутера - VB

Узнай цену своей работы

Формулировка задачи:

Ребята помогите написать исполняемый файл или рабочий скрипт для автоматической перезагрузки роутера в ОС Windows. Сам не могу. Как делую: комадная строка-telnet 192.168.1.1 - логин - пароль - перезагрузка - выход Как приблизительно должен выглядить испоняемый файл для автоматической перезагрузки telnet 192.168.1.1 задержка 2 секунды login: admin задержка 2 секунды pasword: admin задержка 2 секунды >reboot задержка 3 минуты выход Заранее спасибо Нашел в сети один, но он не работает Вот код
Листинг программы
  1. Function PcOnline (strComputer)
  2. Check if the remote machine is online.
  3. Dim objPing,objStatus
  4. Dim TextStream, TimeVar
  5. Dim fso, tf
  6. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  7. Set objPing = GetObjectwinmgmts:{impersonationLevel=impersonate}»)._
  8. ExecQueryselect Replysize from Win32_PingStatus where address = ‘» & strComputer & “‘”)
  9. For Each objStatus in objPing
  10. If IsNull(objStatus.ReplySize) Then
  11. PcOnline=False
  12. ‘Пишем Лог файл
  13. Set fso = CreateObjectScripting.FileSystemObject»)
  14. If (fso.FileExistsc:\routerlog.txt»)) Then
  15. Set tf = fso.OpenTextFilec:\routerlog.txt»,ForAppending, True)
  16. tf.WriteLine(Now() & & strComputer & is down “)
  17. tf.Close()
  18. Set fso = Nothing
  19. Set tf = Nothing
  20. Else
  21. Set tf = fso.CreateTextFilec:\routerlog.txt»,ForAppending, True)
  22. tf.WriteLine(Now() & & strComputer & is down “)
  23. tf.Close()
  24. Set fso = Nothing
  25. Set tf = Nothing
  26. End If
  27. Конец Лог файла
  28. Else
  29. PcOnline = True
  30. Wscript.Echo strComputer & is responding to a ping
  31. End If
  32. Next
  33. Set objPing=Nothing
  34. Set objStatus=Nothing
  35. End Function
  36. Dim fsot, tft
  37. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  38. If PcOnline(«[url]www.ya.ru»)_[/url]
  39. OR PcOnline(«[url]www.google.com»)_[/url]
  40. Then
  41. если статус = 0, пустая строка другое
  42. Wscript.Echo «all ok»
  43. Set fsot = CreateObjectScripting.FileSystemObject»)
  44. Set tft = fsot.OpenTextFilec:\routerlog.txt»,ForAppending, True)
  45. tft.WriteLine(“—————–”)
  46. tft.Close()
  47. Set fsot = Nothing
  48. Set tft= Nothing
  49. WScript.Quit 0
  50. Else
  51. WScript.Echo «Reboot»
  52. Set oShell = WScript.CreateObjectWScript.Shell»)
  53. oShell.Run «telnet.exe 1.1.0.1»
  54. WScript.Sleep 2000
  55. oShell.SendKeys «user» & chr(13)
  56. WScript.Sleep 2000
  57. oShell.SendKeys «password» & chr(13)
  58. WScript.Sleep 2000
  59. oShell.SendKeys «reload» & chr(13)
  60. WScript.Sleep 2000
  61. oShell.SendKeys “^({]})q & chr(13)
  62. WScript.Quit 255
  63. End If
  64. Set fsot = CreateObjectScripting.FileSystemObject»)
  65. Set tft = fsot.OpenTextFilec:\routerlog.txt»,ForAppending, True)
  66. tft.WriteLine(“—————–”)
  67. tft.Close()
  68. Set fsot = Nothing
  69. Set tft= Nothing
ya.ru и google.com сервера, которые пингует скрипт для проверки ест ли интернет или нет user — логин админа роутера или модема – обычно admin password – пароль админа. В строчке ‘oShell.Run «telnet.exe 1.1.0.1» вместо 1.1.0.1 прописываем адрес своего роутера (192.168.1.1 например) В строчке ‘oShell.SendKeys «reload» & chr(13) – reload, это команда, которая перегружает роутер или модем, может отличаться от модели к модели. Посмотрите в документации или методом научного тыка и вставьте ту команду, которая подходит вам – я встречал reload и reboot. Также скрипт пишет лог файл c:\routerlog.txt Но не работает пишет ошибки

Решение задачи: «Файл или скрипт для автоматической перезагрузки роутера»

textual
Листинг программы
  1. Function PcOnline (strComputer)
  2. 'Check if the remote machine is online.
  3. Dim objPing,objStatus
  4. Dim TextStream, TimeVar
  5. Dim fso, tf
  6. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  7. Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
  8. ExecQuery("select Replysize from Win32_PingStatus where address = '" & strComputer & "'")
  9. For Each objStatus in objPing
  10. If IsNull(objStatus.ReplySize) Then
  11. PcOnline=False
  12. 'Пишем Лог файл
  13. Set fso = CreateObject("Scripting.FileSystemObject")
  14. If (fso.FileExists("c:\routerlog.txt")) Then
  15. Set tf = fso.OpenTextFile("c:\routerlog.txt",ForAppending, True)
  16. tf.WriteLine(Now() & " " & strComputer & " is down ")
  17. tf.Close()
  18. Set fso = Nothing
  19. Set tf = Nothing
  20. Else
  21. Set tf = fso.CreateTextFile("c:\routerlog.txt",ForAppending, True)
  22. tf.WriteLine(Now() & " " & strComputer & " is down ")
  23. tf.Close()
  24. Set fso = Nothing
  25. Set tf = Nothing
  26. End If
  27. ' Конец Лог файла
  28. Else
  29. PcOnline = True
  30. End If
  31. Next
  32. Set objPing=Nothing
  33. Set objStatus=Nothing
  34. End Function
  35. Dim fsot, tft
  36. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  37. If PcOnline("www.ya.ru")_
  38. OR PcOnline("www.google.com")_
  39. Then
  40. ' если статус = 0, пустая строка другое
  41. Set fsot = CreateObject("Scripting.FileSystemObject")
  42. Set tft = fsot.OpenTextFile("c:\routerlog.txt",ForAppending, True)
  43. tft.WriteLine("-----------------")
  44. tft.Close()
  45. Set fsot = Nothing
  46. Set tft= Nothing
  47. WScript.Quit 0
  48. Else
  49. Set oShell = WScript.CreateObject("WScript.Shell")
  50. oShell.Run "telnet.exe 192.168.1.1"
  51. WScript.Sleep 1000
  52. oShell.SendKeys "user" & chr(13)
  53. WScript.Sleep 1000
  54. oShell.SendKeys "pass" & chr(13)
  55. WScript.Sleep 1000
  56. oShell.SendKeys "reboot" & chr(13)
  57. WScript.Sleep 1000
  58. oShell.SendKeys "^({]})q" & chr(13)
  59. WScript.Quit 255
  60. End If
  61. Set fsot = CreateObject("Scripting.FileSystemObject")
  62. Set tft = fsot.OpenTextFile("c:\routerlog.txt",ForAppending, True)
  63. tft.WriteLine("-----------------")
  64. tft.Close()
  65. Set fsot = Nothing
  66. Set tft= Nothing

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы