Scripting Telnet

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
hi leutz,

per Zufall bin ich auf ein kleines Tool gestoßen, mit dem man von Windows aus per Script über den Telnet die DS fernsteuern kann ;).

Das Programm ist zwar schon ein wenig älter, läuft aber auch unter Vista und heißt: Telnet Scripting Tool Version 1.0 (tst10.exe). Da der originale Download-Link leider nicht mehr funktioniert, hier ein Ersatzlink.

Nachdem man die Datei heruntergeladen und entpackt hat, kann man sie einfach mal unter Windows ausführen und bekommt die Bedienungsanleitung.

Die Idee des Tools ist es, Linux-Kommandofolgen in einer Windows-Datei (z.B. telnet-script.txt) zu speichern und per Aufruf im MSDOS-Fenster tst10 /r:telnet-script.txt auszuführen.

Damit wäre auch die Möglichkeit gegeben, eine Windows-Verknüpfung auf den Desktop zu legen, die den Verweis auf cmd.exe /c tst10 /r:telnet-script.txt enthält und mit einer Funktionstaste gekoppelt wird. Dann hätte man tatsächlich eine DS-Fernsteuerung per Knopfdruck eingerichtet. :D

Ich hoffe, ich konnte euer Interesse wecken.

itari
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
ich hab mal Screen-Shoots von meiner Desktop-Verknüpfung in Vista gemacht. Die tst10.exe ist bei mit im Verzeichnis C:\Synology; die Skript-Datei tel1.txt sieht bei mir so aus:
Rich (BBCode):
syno 23
WAIT "login:"
SEND "root\m"
WAIT "assword:"
SEND "MyPassword\m"
WAIT ">"
SEND "poweroff\m"
WAIT ">"

Selbst wenn ich die Desktop-Symbole ausblende, kann ich mit Taste-F11 die Diskstation herunterfahren ;)

itari

.
 

Anhänge

  • telnet1.jpg
    telnet1.jpg
    2,3 KB · Aufrufe: 1.237
  • telnet2.jpg
    telnet2.jpg
    37,1 KB · Aufrufe: 1.189

Pompom

Benutzer
Mitglied seit
17. Jul 2008
Beiträge
70
Punkte für Reaktionen
0
Punkte
6
So etwas geht auch mit VBS
Rich (BBCode):
Set oShell = CreateObject("WScript.Shell")
oShell.Run "IP_Diskstation"
WScript.Sleep 3000
oShell.SendKeys"root"&vbcr
WScript.Sleep 1000
oShell.SendKeys"Passwort"&vbcr
WScript.Sleep 5000
oShell.SendKeys"1. Kommando"&vbcr
WScript.Sleep 500
oShell.SendKeys"2. Kommando"&vbcr

Futzt auch einwandfrei! ;)
 

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Nachdem ihr es für Windows habt: Hier die Lösung für den MAC

Bekannterweise löse ich gerne Probleme mittels des bekannten Automator in Zusammenarbeit mit AppleScript. Dieses Script fragt nach dem Start das Passwort für Root ab und bietet daraufhin die Option den Herunterfahrens oder Neustarts der DS. Sollte keine Aktion gewählt werden, ertönt nach 10 Sekunden ein Doppelbeep und beendet das Skript.
Hierzu geht man in den Automator und wählt als erstes die Aktion "Appleskript ausführen" und gibt dort diesen Code komplett ein:
Rich (BBCode):
on run {input, parameters}
	set usr to "root"
	set temp to display dialog "Hallo Root. Bitte geben Sie ihr Passwort ein:" default answer ""
	set pw to text returned of temp as text
	display dialog "Welche Aktion möchten Sie ausführen?" buttons ¬
		{"Reboot", "Shutdown"} giving up after 10
	
	set DlogResult to result
	if button returned of result = "Reboot" then
		tell application "Terminal"
			do script "telnet IPderDS"
			delay 2
			do script usr in window 1
			delay 2
			do script pw in window 1
			delay 2
			do script "reboot" in window 1
			delay 15
		end tell
	else if button returned of result = "Shutdown" then
		tell application "Terminal"
			do script "telnet IPderDS"
			delay 2
			do script usr in window 1
			delay 2
			do script pw in window 1
			delay 2
			do script "poweroff" in window 1
			delay 15
		end tell
	else if gave up of DlogResult is true then
		beep 2
	end if
	return input
end run

Anschliessend fügt man eine Aktion "Pause" ein mit 15 Sekunden (Diese Pause kann auch kürzer gewählt werden, jedoch nicht der delay im vorhergehenden Skript, da dann dass Kommando etwaig nicht durchgereicht wird) und abschliessend eine Aktion "Programm beenden" mit dem Programm Terminal. Dies sollte dann so ausschauen:
bild1cv5.jpg


Anschliessen Ablage-> Sichern unter-> Name vergeben und als Programm abspeichern, wo man möchte.
Die Fenster schauen anschliessend so aus:
bild2ia0.jpg

bild3kz9.jpg


Wie immer keine Garantie und viel Spass.
best regards

PS Danke an itari für die tolle Idee!!!
 
Zuletzt bearbeitet:

sierra

Benutzer
Mitglied seit
07. Jun 2008
Beiträge
120
Punkte für Reaktionen
0
Punkte
0
ich hab mal Screen-Shoots von meiner Desktop-Verknüpfung in Vista gemacht. Die tst10.exe ist bei mit im Verzeichnis C:\Synology; die Skript-Datei tel1.txt sieht bei mir so aus:
Rich (BBCode):
syno 23
WAIT "login:"
SEND "root\m"
WAIT "assword:"
SEND "MyPassword\m"
WAIT ">"
SEND "poweroff\m"
WAIT ">"

Selbst wenn ich die Desktop-Symbole ausblende, kann ich mit Taste-F11 die Diskstation herunterfahren ;)

itari

.



Heisst das "assword" oder "Password" unter Wait !??
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Heisst das "assword" oder "Password" unter Wait !??

Das ist ein Zeilenenden-Scanner ... es würde auch reichen "ssword:" oder nur "word:" bzw. "ogin:" oder "gin:"

Da manchmal das P von Passwort groß und manchmal klein geschrieben wird, hab ich es im Beispiel weggelassen.

itari
 

Doppelter Wolf

Benutzer
Mitglied seit
11. Sep 2008
Beiträge
171
Punkte für Reaktionen
0
Punkte
16
Und so sieht es aus für Linux User
bitte aber zuerst expect aus den Quellen Installieren

Rich (BBCode):
#!/usr/bin/expect
spawn /usr/bin/telnet
expect "telnet>" { send "open IpDerDS\n" } 
expect "login:" { send "root\n" }
expect "Password:" { send "yourpassword\n" }
expect "DiskStation>" { send "poweroff\n" }
exit
 

Doppelter Wolf

Benutzer
Mitglied seit
11. Sep 2008
Beiträge
171
Punkte für Reaktionen
0
Punkte
16
Und so kann man sich Automatisch auf die Telnet konsole ein loggen

Rich (BBCode):
#!/usr/bin/expect
spawn /usr/bin/telnet
expect "telnet>" { send "open IpDerDS\n" }
expect "login:" { send "root\n" }
expect "Password:" { send "YourPass\n" }

interact #This hands control of the keyboard over two you (Nice expect feature!)
 

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Und so kann man sich Automatisch auf die Telnet konsole ein loggen

Rich (BBCode):
#!/usr/bin/expect
spawn /usr/bin/telnet
expect "telnet>" { send "open IpDerDS\n" }
expect "login:" { send "root\n" }
expect "Password:" { send "YourPass\n" }

interact #This hands control of the keyboard over two you (Nice expect feature!)


merci, dann haben wir ja jetzt alle 3 zusammen

best regards
 

NAS-Fux

Benutzer
Mitglied seit
30. Aug 2008
Beiträge
42
Punkte für Reaktionen
0
Punkte
6
Hallo,
das klingt ja für Insider-Ohren alles super toll.
Ist jemand in der Lage, eine Schritt-für-Schritt-Anleitung zu posten, für "Oberflächen-Fuzzies", die noch nie mit Telnet/VBS gearbeitet haben?
Viele Grüße,
NAS-Fux
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.160
Punkte für Reaktionen
407
Punkte
393
Hallo,
da sowas gerade im englischen Forum gefragt wurde, habe ich mich sogar an dieses Thema erinnert.
Es geht auch als Einzeiler mit plink (Dokumentation).
Als Langform
plink xxx.xxx.xxx.xxx -l root -pw password poweroff
Kurzfassung
plink 107+ poweroff
wobei 107+ meine gespeicherte putty Konfiguration für die 107+ heißt und dort Authentifizierung per Key erfolgt. Läßt man in der Langform -pw weg wird nach dem Passwort gefragt.

Gruß Götz
 
Zuletzt bearbeitet:

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Wie kann ich denn erreichen, dass das cmd Fenster offen bleibt (Win 7).
Ich will als zB nur, dass das Script sich via Telnet bei der DS anmeldet und ich dann von Hand weiter wursteln kann.
 

Cerebric

Benutzer
Mitglied seit
01. Mrz 2010
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo

Hallo Jungs,

gibt es beim MAC irgendeine möglichkeit das passwort mit in das Apple Script zu bauen sodas man kein Passwort mehr eingeben muß und direkt zum Shutdown Reboot kommt?

Danke:)
 
Zuletzt bearbeitet:

theMario

Benutzer
Mitglied seit
29. Dez 2011
Beiträge
403
Punkte für Reaktionen
0
Punkte
22
Hallo Gemeinde,

ich krame mal nen 2 Jahre alten Post wieder vor, weil ich genau nach einem Klick zum herunter fahren gesucht habe. Allerdings nicht nur den, sondern auch Einen zum Aufwecken meiner DS via Klick auf dem Desktop meines Win7 Notebooks. Und hier möchte ich euch mal eine einfache Möglichkeit anbieten. Ladet euch von hier diese WOL.exe herunter und baut euch eine Batchdatei mit dem Dateinamen einem Leerzeichen und der Mac-Adresse der DS drin und speichert es zusammen in ein Verzeichnis. Die Batchdatei bekommt eine Verknüpfung auf dem Desktop und schon hat man den Powerknopf auf dem Desktop.
Da fällt mir ein, man kann den Powerknopf auch in den Autostart seines Windows PCs stecken, dann hat man eine "Clientsteckdose".

aufwecken.png

Viel Spaß

theMario

EDIT: !!! ganz wichtig und deshalb vergessen. Die Mac-Adresse muss ohne die üblichen ":" oder "-" Trennzeichen geschrieben werden!!!
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@theMario,

danke für den Tipp zum Ausbauen der Fernsteuerung - kannst es auch gerne in unser Wiki schreiben :)

Itari
 

rauppe31

Benutzer
Mitglied seit
06. Jun 2011
Beiträge
2.734
Punkte für Reaktionen
0
Punkte
82
Ich habe es gerade ausprobiert.

Damit es auch jeder versteht:

Die wol.exe muss im gleichen Verzeichnis sein wie die Batchdatei.
Die Btchdatei muss den die Dateiendung CMD oder BAT haben. Also z.B. DS_starten.cmd

In diese Datei kommt folgender Inhalt (Um die Datei zu bearbeiten Rechtsklick -> Bearbeiten):
Rich (BBCode):
wol.exe MAC_ADRESSE_DER_DS
 

ChrisKarn

Benutzer
Mitglied seit
12. Okt 2007
Beiträge
29
Punkte für Reaktionen
0
Punkte
1
Die wol.exe muss im gleichen Verzeichnis sein wie die Batchdatei.
Die Btchdatei muss den die Dateiendung CMD oder BAT haben. Also z.B. DS_starten.cmd

In diese Datei kommt folgender Inhalt (Um die Datei zu bearbeiten Rechtsklick -> Bearbeiten):
Rich (BBCode):
wol.exe MAC_ADRESSE_DER_DS
Hmmm, ich habe mit
wol.exe 0011320FF55F
in einer Batch-Datei (.cmd, WinXP-Sp3) keinen Erfolg, eine DS207+ möchte nicht aufwachen. Muss ich im Admin-Menü der DS noch was einstellen?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Kann denn eine DS207+ schon WOL? Ich dachte das sein erst mit späteren Modellen gekommen...
 

rauppe31

Benutzer
Mitglied seit
06. Jun 2011
Beiträge
2.734
Punkte für Reaktionen
0
Punkte
82
WOL muss aktiviert sein.

Schau mal, ob das unter Systemsteuerung -> Energie eingeschaltet ist.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat