| |
Fortgeschrittene Programmierungcmd starten, ssh starten und dann sendkeys. So möglich? | | | Autor: Virtex | Datum: 30.08.21 14:56 |
| Hallo zusammen,
ich würde gerne ein kleines Projekt umsetzen, bei dem es um Updates geht.
Das Update funktioniert über ssh. Da dies an ca. 140 Maschinen gemacht werden muss, würde ich gerne ein Programm schreiben, welches ein cmd öffnet, ssh startet und sich mit dem jeweiligen Server verbindet und dann über sendkeys die Anmeldedaten und die weiteren Befehle in das cmd Fenster übergeben und ausführen. Geht sowas überhaupt und wenn ja wie?
Im Grund müsste es doch ähnlich so funktionieren:
befehl = "cmd /K ssh user@serverip"
shell (befehl)
abfangen ob schonmal genutzt (md5 Warnung -> falls sie kommt tippe "yes" _
sonst "username" + enter)
warte 5 sekunden
sendkeys "passwort" an das cmd fenster (es laufen mehrere weitere Fenster. Muss _
das richtige sein!)
warte 10
befehlt 1 enter
warte 10 sekunden
sendkeys "passwort"
warte 3
sendkeys "neuer befehl"
usw... Leider funktioniert bislang der Start noch nicht einmal, da das Programm die ssh.exe nicht findet (auch bei voller Pfadangabe)
Oder ist es hierfür einfacher ein komplettes Terminal selbst zu schreiben und dort ein Makro abzuspielen?
Würde gerne vermeiden das alles immer weider händisch machen zu müssen...
Gruß
Virtex | |
Re: cmd starten, ssh starten und dann sendkeys. So möglich? | | | Autor: emaNoN | Datum: 30.08.21 15:53 |
| Kopier dir die ssh.exe mal in dein Projektverzeichnis und dann:
befehl = "cmd /K " & App.Path & "\ssh.exe user@serverip"
Beitrag wurde zuletzt am 30.08.21 um 16:09:25 editiert. | |
Re: cmd starten, ssh starten und dann sendkeys. So möglich? | | | Autor: Virtex | Datum: 30.08.21 16:39 |
| Hi.
Danke für den Tipp. Das reinklopieren hat geholfen. Musste den Befehl zwar noch umbauen aber dann hats geklappt. Nun startet das cmd Fenster und führt auch gleich den ssh Befehl aus. Beim login bleibt es allerdings stehen und ich kann mit sendkeys nichts reinschicken.
Hab auch schon versucht nur ein leeres cmd Fenster zu öffnen. Auch da wird nichts reingesendet. Im Gegenteil.
Es öffnen sich viele weitere Fenster wenn ich es mit
SendKeys = "passwort{ENTER}" versuche. Muss dann hart stoppen, da sonst immer weiter cmds geöffnet werden.
Wenn ich es mit einem leeren cmd Fenster und
SendKeys = "x" teste, passiert nichts außer ein geöffnetes Fenster mit blinkendem Cursor. Das "x" wird nicht gesendet.
Woran kann das liegen?
Gruß
Virtex
Beitrag wurde zuletzt am 30.08.21 um 16:40:39 editiert. | |
Re: cmd starten, ssh starten und dann sendkeys. So möglich? | | | Autor: emaNoN | Datum: 01.09.21 08:42 |
| „Oder ist es hierfür einfacher ein komplettes Terminal selbst zu schreiben und dort ein Makro abzuspielen?“
Mir ist nicht ganz klar, was du eigentlich vorhast. Hast dich schon 'mal mit Putty/Plink beschäftigt? | |
Re: cmd starten, ssh starten und dann sendkeys. So möglich? | | | Autor: Virtex | Datum: 03.09.21 09:32 |
| Hi emaNoN,
Habs jetzt hinbekommen. Musste eine andere SendKeys-Funktion nutzen und mit der klappt es jetzt
Putty haben wir sonst immer genutzt für ssh Verbindungen. Aber durch das kopieren der ssh.exe in den App.Path und die Anpassung an der Sendkeys Funktion habens dann doch irgendwie gelöst | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|