2013-07-11 29 views
5

Chciałbym telnetować się do mojego routera i chcę go zautomatyzować, więc nie muszę się logować przez cały czas, tak jak robię to kilka razy dziennie.Jak zautomatyzować sesję Telnet bez przycisków Wyślij

Czy jest inna metoda oprócz sendkeys w VBS? Dzieje się tak dlatego, że fizycznie typy, więc okno telnet musi być aktywne, jest dość irytujące.

Próbowałem pliku wsadowego, ale otrzymuję naprawdę dziwne wyniki. Oto ona:

telnet 192.168.1.254 
REM This is the router IP 
ping 255.255.255.255 -n 1 -w 1000 > nul 
REM This is to wait for the router if its being slow 
George 
REM This is the username, as it prompts as soon as it logs in 
ping 255.255.255.255 -n 1 -w 1000 > nul 
(the password) 
ping 255.255.255.255 -n 1 -w 1000 > nul 
system 
REM Enters the system menu 
ping 255.255.255.255 -n 1 -w 10 > nul 
debug 
REM Enters the Debug menu 
ping 255.255.255.255 -n 1 -w 100 > nul 
:s 
cpu 
REM This lets me see the CPU usage 
ping 255.255.255.255 -n 1 -w 1000 > nul 
REM Wait while it lists it 
mem 
REM Checks the memory 
ping 255.255.255.255 -n 1 -w 1000 > nul 
REM Waits again! 
goto s 
REM I need a loop otherwise I would have to type out lots of code! 

Oto wyniki:

C:\Users\George\Desktop>telnet 192.168.1.254 

C:\Users\George\Desktop>telnet 192.168.1.254 
^C Terminate batch job (Y/N)? 

Dlaczego to robi? To byłby mój oczekiwany wynik ...

Username : George 
Password : ******* 
------------------------------------------------------------------------ 

          ______ Technicolor TG582n 
         ___/_____/\ 
         /  /\\ 8.C.M.0.AR 
        _____/__  /\\ 
       _/  /\_____/___ \ Copyright (c) 1999-2012, Technicolor 
       //  /\  /\ \ 
     _______//_______/ \ /_\/______ 
    / /\  \ ///  /\ 
    __/ / \  \///  /_\__ 
// / \_______\/ //  // /\ 
/_/______/___________________/ /________/ /___/ \ 
\ \  \ ___________ \ \  \ \ \/
    \_\  \/  /\ \ \  \ \___\/ 
    \  \/  /\ \ \  \/
     \_____/  / \ \ \________\/ 
      /__________/  \ \/
      \ _____ \  /_____\/ 
      \/ /\ \ /___\/ 
      /____/ \ \/
      \ \ /___\/ 
       \____\/ 

------------------------------------------------------------------------ 
{George}=>system 
{George}=>debug 
{George}[system debug]=>cpu 
CPU (%): Idle  User  Kernel 
      57.43  0.99 41.58 
{George}[system debug]=>mem 
Total:     61280 KB 
Used:      45216 KB 
    by kernel:    30748 KB 
    by applications:  14468 KB 
{George}[system debug]=> 

A więc, dlaczego to robi?

Czy mogę użyć innej metody niż sendkeys?

+0

Można się spodziewać, że 'ping 255.255.255.255 -n 1 -w 1000> nul' jest wykonywany przez cmd.exe, ale' george' powinny być wysłane do klienta telnet ? Jak program cmd.exe powinien wiedzieć, czego się spodziewasz? – jeb

+0

Oh - Użyłem polecenia ping, aby utworzyć opóźnienie, ponieważ połączenie trwa krócej. Czy dlatego dostaję nieskończoną pętlę? – George

Odpowiedz

5

Możesz google dla tego narzędzia: nie okna skryptów Telnet.exe ale to skrypty telnet klient.

Telnet Scripting Tool v.1.0
Albert Yale

+1

Dzięki - znalazłem go [tutaj] (http://support.moonpoint.com/downloads/windows/network/Telnet/tst10.php) jako openDNS zwrócił błąd z linkiem podałeś – George