Mr.Brot Geschrieben 14. Juli 2004 Geschrieben 14. Juli 2004 Ich will über eine VB-Oberfläche mit WSH auf nen Linux-Server zugreifen. Per Hand ist das auch alles kein Problem. cmd.exe -> telnet test-server[enter] dann bin ich schon auf dem Server und kann mich einloggen (Username und dann PW eingeben). Und dort will ich dann das PW ändern. passwd username -> altesPW -> neuesPW -> neuesPW nochmals eingeben und fertig. Das möchte ich gern Automatisieren. Also in der VB-Oberfläche muß man nur username, altesPW und neuesPW eingeben und eine Button drücken.. fertig! Das ist was ich gern haben will. Private Sub Command3_Click() Dim wshShell Set wshShell = CreateObject("Wscript.Shell") wshShell.Run ("telnet test-server") Delay 1 wshShell.SendKeys ("username{ENTER}") Delay 1 wshShell.SendKeys "asdfghjk" & vbCr Delay 1 wshShell.SendKeys "passwd username" & vbCr Delay 1 wshShell.SendKeys "asdfghjk" & vbCr Delay 1 wshShell.SendKeys "qwertzui" & vbCr Delay 1 wshShell.SendKeys "qwertzui" & vbCr Delay 1 wshShell.SendKeys "exit" & vbCr End Sub Das benutz ich grad und es geht auch.. Problem: bei einer langsamen Verbindung gehts nicht, weil dann die Wartezeiten von mir net passen und bei einer fehlerhaften Eingabe geht dann alles schief. Ich will dies mit wshShell.exec statt mit .run machen, weil man damit auch die auslesen kann was grad in der cmd.exe-box drin steht. Also mit "wshShellE.stdin.write" reinschreiben und mit "wshShellE.stdout.readline()" auslesen. Dim strText As String Dim wshShell Dim wshShellE Set wshShell = CreateObject("Wscript.Shell") Set wshShellE = wshShell.exec("cmd.exe") wshShellE.stdin.write ("telnet test-server{ENTER}") Do Until wshShellE.stdout.AtEndofStream strText = wshShellE.stdout.readline() Loop If InStr(strText, "login:") < 1 Then MsgBox "Consolentext: " & strText, vbOKOnly End If wshShellE.stdin.write ("username{ENTER}") undsoweiter... aber es funzt nicht.. :confused: Kann mir da jemand bitte helfen!?!?!? :WD
Mr.Brot Geschrieben 14. Juli 2004 Autor Geschrieben 14. Juli 2004 HILFE?!?! :confused: hat davon keiner n bissele plan?? Ich arbeite mich schon durch das Handbuch für WSH.. aber es will net gehen...
developer Geschrieben 15. Juli 2004 Geschrieben 15. Juli 2004 Hast du es schon mal mit dem Winsock-Control probiert? http://www.activevb.de/tutorials/tut_winsock_control/winsock_con.html Das über Shell Befehle zu machen finde ich persönlich im Allgemeinen nicht gut... Bei Win 95,98 heisst es "command", du bekommst keine Rückmeldung, Zeitüberscheitung etc. PS: Bitte kein Thread-pushing.
Mr.Brot Geschrieben 19. Juli 2004 Autor Geschrieben 19. Juli 2004 Werde mich mal darin vertiefen. Danke Dir!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden