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 Zitieren
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... Zitieren
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. Zitieren
Mr.Brot Geschrieben 19. Juli 2004 Autor Geschrieben 19. Juli 2004 Werde mich mal darin vertiefen. Danke Dir! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.