Putty Befehl an Windows Server-seitige CMD geben

  • #1
M

mazdaracer121

Neues Mitglied
Themenersteller
Dabei seit
10.01.2013
Beiträge
3
Reaktionspunkte
0
Hey ihr.. erstmal klasse forum hier.
hab schon oft als stiller leser antworten auf meine fragen bekommen, leider bin ich gerade an einer sache dran die mich ein wenig zum verzweifeln bringt..

Folgendes. Ich habe am dachboden einen kleinen Xp Rechner der mir als Ftp bzw. DLNA server dient. soweit alles klasse.
nun bin ich letztens auf die glorreiche idee gekommen dass man damit auch eine relaiskarte schalten könnte die den türöffner betätigt.

ich habe mir also ein kleines Script gebastelt, dass es mir erlaubt mit einenm doppelklick auf die Relais.cmd das relais zu schalten.

Da ich aber nicht immer im dachboden bin würde ich das gerne auch vom erdgeschoss machen können.
Nach vielem hin und her habe ich mir nun gedacht das ganze Über SSH zu realisieren.
FreeSShD ist auf dem server installiert und voll eingerichtet, und auf meinem Client Laptop nutze ich Putty.
Ist es nun möglich dass ich mir Client seitig ebenfalls eine .Cmd schreibe die mir erlaubt ein script auf dem server auszuführen?

habe schon eine geschrieben dass sich mein rechner mit dem server verbindet die so aussieht

cd..
cd..
cd..
cd programme
cd putty
putty.exe User@IPADRESSE:pORT -pw XXXX

soweit geht das auch. aber wie gebe ich einen befehl an die serverseitige eingabeaufforderung weiter.

Der befehl der auf dem server ausgeführt werden müsste ist folgender

J:\Relay\USBRelay\USBRelay.exe -c:5 -r:1#1
ping -n 3 localhost
J:\Relay\USBRelay\USBRelay.exe -c:5 -r:1#0

Habe schon mal was von einem -m Befehl gehört der dann eine textdatei mit den befehlen ausführen sollte, aber da tut sich bei mir nicht viel.
nur das fenster schliesst sich

viel lesestoff, dafür möchte ich mich schon einmal entschuldigen :-\
 
  • #2
  • #3
psexec hatte ich schon mal im versuch aber das wollte irgendwie nicht wirklich ffunktionieren
 
  • #4
Salve!

Aus der Hilfe zu putty:
3.8.3.6 -m: read a remote command or script from a file

The -m option performs a similar function to the ‘Remote command’ box
in the SSH panel of the PuTTY configuration box (see section 4.18.1).
However, the -m option expects to be given a local file name, and it
will read a command from that file.

With some servers (particularly Unix systems), you can even put
multiple lines in this file and execute more than one command in
sequence, or a whole shell script; but this is arguably an abuse, and
cannot be expected to work on all servers. In particular, it is known
not to work with certain ‘embedded’ servers, such as Cisco routers.

This option is not available in the file transfer tools PSCP and PSFTP.


4.18.1 Executing a specific command on the server

In SSH, you don't have to run a general shell session on the server.
Instead, you can choose to run a single specific command (such as a
mail user agent, for example). If you want to do this, enter the
command in the ‘Remote command’ box.

Note that most servers will close the session after executing the
command.

Gemäß zweitem Absatz wird demnach grundsätzlich nur ein Befehl pro Kommandodatei unterstützt.

Ob der FreeSShD ferne Ausführung von Befehlen grundsätzlich unterstützt oder nicht, sollte leicht überprüfbar sein. Einfach in putty im entsprechenden Feld (siehe Punkt 4.18.1 im Zitat) ein Kommando (z.B.
Code:
echo Es klappt! >> c:\putty_test.txt
eingeben und die Verbindung öffnen. Dann prüfen, ob die Datei angelegt wurde.

Wenn das funktioniert, das Kommando in eine Textdatei schreiben (fürs erste nur eine Zeile). Dann putty mittels
Code:
putty -m kommandodatei.txt [email][email protected][/email]
aufrufen (kommandodatei.txt muss dazu natürlich im aktuellen Verzeichnis liegen). Nun sollte putty_test.txt 2 Zeilen enthalten.

Wenn auch das geht, mehrere Kommandos in der Textdatei probieren.

Außerdem kann eine Kommandozeile (zumindest unter WinXP) mehrere Kommandos durch | getrennt enthalten.

Außerdem können die fernen Kommandos (am Server) in eine Batch-Datei geschrieben und diese dann über putty aufgerufen werden.

hth,
Herbert
 
  • #5
hallo.. melde mich noch einmal da ich endlich eine lösung meiner frage habe.. Der Schlüssel ist die anwendung Plink.exe die im putty paket enthalten ist...

Zunächst wird mit Putty ein Profil erstellt, dass ipadresse, und user enthält.
Anschliessend im putty verzeichnis auf dem !!CLIENT PC!! eine .TXT datei erstellen die den auszuführenden Befehl auf dem server enthält. hier der name Befehle2.txt
Diese liegt im Verzeichnis von PuttY
In meinem fall diesen Befehl:
G:\Dokumente und Einstellungen\Admin\Desktop\Relais.cmd

anschliessend wird eine neue .cmd datei erstellt.. Desktop oder sonst wo (erst .txt, dann als .cmd umbenennen)
mit dieser navigiert man in das verzeichnis von putty, und führt mit Plink.exe den befehl auf dem remote rechner aus.
cd..
cd..
cd..
cd programme
cd putty
plink.exe USER@HOST -pw 1234 -m Befehle2.txt

User bezeichnet den benutzer am server
HOST bezeichnet den PC, bzw. das vorher abgespeicherte Profil von Putty
-pw Passwort für USER
Und mit dem Befehl -m Wird der in der .TXT enthaltene Befehl direkt an den Server weitergereicht..


So funktioniert das bei mir im moment.
Für verbesserungsvorschläge bin ich gerne offen :-')

hoffe ich habs verständlich geschrieben
trotzdem danke leute mml
 
Thema:

Putty Befehl an Windows Server-seitige CMD geben

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben