- Сообщения
 - 2,665
 
- Реакции
 - 1,999
 
Доброго времени, уважаемые скрипТачи.
Хочу отредактировать скрипт для своего роутера ADSL QDSL-1040WU-FON.
Но поскольку с этим мало знаком, то прошу помощи.
Спасибо!
	
	
	
		
	
		
			
		
		
	
				
			Хочу отредактировать скрипт для своего роутера ADSL QDSL-1040WU-FON.
Но поскольку с этим мало знаком, то прошу помощи.
Спасибо!
		VB.NET / VBA:
	
	
	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.Echo "all ok"
    Set fsot = CreateObject("Scripting.FileSystemObject")
    Set tft = fsot.OpenTextFile("c:\routerlog.txt",ForAppending, True)
    tft.WriteLine("-----------------")
    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.1.1"
    'WScript.Sleep 2000
    'oShell.SendKeys "admin" & chr(13)
    'WScript.Sleep 2000
    'oShell.SendKeys "*******" & 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
	

 не получалось из-за длинны пароля, как оказалось, хотя длинной это не назвать было)
