• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

router reset mit applescript

  • Ersteller Ersteller Gelöschter User 84116
  • Erstellt am Erstellt am

Gelöschter User 84116

Gast
hi, ich habe eine sehr dumme frage, aber weder google noch die forum-suche konnten mir weiter helfen. das kann an meiner unfähigkeit zu suchen liegen, in dem fall entschuldige ich mich schonmal im vorraus dafür :-D

ich möchte ein kleines script schreiben, dass ich später als dienst in safari aufrufen kann.
es soll einfach nur meinen router neu starten und mir damit eine neu ip geben.

das ganze geht ganz einfach, wenn man das router-menü über telnet 192.168.2.1 aufruft und sich dann durchs menü hangelt.
ich schaffe es aber nicht, dass das script die jeweilige menü-auswahl an terminal übergibt.

die eingaben sehen in der richtigen reihenfolge so aus:

"telnet 192.168.2.1" -> "[Passwort]" -> "24" -> "4" -> "21"

danach muss terminal einfach wieder beendet werden.

ich hab einen ansatz, aber ich weiß nicht, was ich zwischen die eingaben setzen muss, damit das script wartet, bis es von terminal zur nächsten eingabe aufgefordert wird, und dann eben jeweils das nächste eingibt.

mein ansatz:
Code:
tell application "Terminal"
    activate
    do script "telnet " & "192.168.2.1"
    "[Passwort]"
    "24"
    "4"
    "21"
end tell
quit application "Terminal"
kann mir da jemand helfen?

herzlichen dank im vorraus!

p.s.: der titel soll natürlich nicht "router reset mir applescript" sondern "router reset MIT applescript" heißen.
 
try

Code:
tell application "Terminal"
    activate
    delay 1.0
    do script "telnet " & "192.168.2.1"
    delay 1.0
    "[Passwort]"
    delay 1.0
    "24"
    delay 1.0
    "4"
    delay 1.0
    "21"
end tell
quit application "Terminal"

so haste nach jedem befehl eine sekunde pause
 
Danke, da funktioniert allerdings trotzdem nicht.

Das script bleibt bei der passworteingabe stehen.

entweder es liegt an dem passwort, oder die zeilen außer der 1. werden nicht übergeben. fehlt da nicht noch jeweils ein befehl um die zeilen zu übergeben, und dann jeweils sozusagen die Enter-Taste zu drücken??
 
Hallo General.Lee,

dank Deiner Vorarbeit hab ich jetzt die Lösung für mein Problem, das ganz ähnlich ist, vielleicht bringt es Dir ja noch was:

tell application "Terminal"
do script "telnet 192.168.2.1"
delay 1.0
do script "PASSWORT" in tab 1 of window 1
delay 1.0
do script "24" in tab 1 of window 1
delay 1.0
do script "4" in tab 1 of window 1
delay 1.0
do script "21" in tab 1 of window 1
end tell
quit application "Terminal"

Ob die delay-Befehle notwendig sind, weiß ich nicht.
 
Wieso eigentlich schreiben soviele immer "tell application Terminal"? Das braucht man doch gar nicht.
Lasst das einfach weg und ihr habt kein Problem mehr mit irgendwelchen aufpoppenden und zuklappenden Terminal Fenstern. :)