Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Konfiguration putty?

Frage Entwicklung Batch & Shell

Mitglied: KikiMiki

KikiMiki (Level 1) - Jetzt verbinden

02.03.2009, aktualisiert 11:21 Uhr, 4808 Aufrufe, 18 Kommentare

Hallo,

ich möchte per batch datei oder vbs, was halt geht meinen Putty öffnen

bisher klappt alles super, bloß weiß ich nicht wie ich folgende Einstellung in die batch einbinden muss.

Im Putty unter Connections --> SSh gibt es den Punkt TUNNELS
Wie kann ich da den Source Port und die Destination im Batch hinterlgen

z.B. Source Port =1112
Destination =localhost:1112

Bisher sieht mein Script so aus:

01.
Set WSHShell = WScript.CreateObject("WScript.Shell") 
02.
WSHShell.Run "h:\putty\putty -ssh SERVERNAME -l USER -pw PASSWORT"
Mitglied: godlie
02.03.2009 um 12:28 Uhr
Naja das is eigentlich ganz einfach.
Leg dir im Putty eine Session an in der du deine Sachen zurechtkonfigurierst
dann kannst du mit putty.exe -load SessionName die zuvor gespeicherte Session öffnen.
Einen weg über die commandline für Source und Target gibt es laut dokumentation leider nicht.
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 12:37 Uhr
Hi godlie

perfekter Ansatz, hat geklappt wie immer ;)

ich habe jetzt eine vbs (login über putty), dann eine weitere vbs (import aus mysql DB)
Da hast du mir ja auch geholfen

Jetzt habe ich eine *.bat die zuerst den login und dann den import ausführt

jetzt bräuchte ich eine vbs um den putty wieder zu schließen, bisher mach ich das über die Kommandozeile mit Exit

Kann man das in ein vbs packen???
Bitte warten ..
Mitglied: godlie
02.03.2009 um 12:53 Uhr
Hm naja theoretisch wäre dies möglich in dem du folgendes machst:

Du startest putty, startest dein 2tes script wartest bis dieses fertig ist, wenn das ding dann fertig ist kannst putty beenden.

01.
set putty = WshShell.Exec ('putty.exe')  
02.
set oSplit = WshShell.Exec ('cscript whaterver ...')  
03.
Do While oSplit.Status = 0 
04.
     WScript.Sleep 100 
05.
Loop  
06.
putty.Terminate
ich kansn bei mir grad net nachbauen aber so in die richtung müsste das funktionieren....
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 13:00 Uhr
Klappt leider nicht


Also ich starten login

Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "h:\putty\putty -ssh SERVERNAME -l USER -pw PASSWORT -load MYSETTINGS"

Dann wird läuft der Excel Import (wo du mir geholfen hast


Und jetzt bräcuht ich ein vbs welches mir das beim ersten Schritt geöffnete Putty schließt
Bitte warten ..
Mitglied: godlie
02.03.2009 um 13:20 Uhr
Nur mal zum Verständniss:

Du hast ein vbs nenne wir es MASTER.vbs, die Aufgabe von MASTER.vbs ist es putty zu starten und deinen Import zu starten, sobald der Import abgeschlossen ist, wird die MASTER.vbs putty beenden und alles ist gut.

Also vom Ablauf her:
bat datei startet die Master.vbs die master.vbs startet putty und danach den import.vbs nachdem der import.vbs fertig ist, wird putty von Master.vbs beendet und die bat is fertig durchgelaufen.
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 14:12 Uhr
Sorry ich bin jetzt aber total verwirrt, hier meine Struktur


im meinem hauptordner habe ich dir start.bat, die so aussieht:

01.
WScript.exe skripte/01_login_putty.vbs 
02.
WScript.exe skripte/02_import_aus_DB.vbs
Beide vbs liegen im Ordner Skripte

wenn jetzt 02_import_aus_DB.vbs fertig ist soll der putty geschlossen werden.
Bisher gehe ich in die Konsole vom putty und gebe exit ein


Den Quellcode wo du gepostet hast kann ich nicht zuordnen, ist das eine neue vbs oder ersetzt deine irgendeine von mir

Sorry aber ich verstehs nicht
Bitte warten ..
Mitglied: godlie
02.03.2009 um 14:33 Uhr
Also das ganze nochmal von vorne:

Das was bei dir jetzt die bat die kannste knicken brauchst nimmer.
Du nimmst deine login_putty.vbs her baust dort den Aufruf für das import_aus_db.vbs rein wartest bis das ding fertig ist und danach schliest dein login_putty.vbs das putty für dich.

01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
set putty = WshShell.Exec "h:\putty\putty -ssh SERVERNAME -l USER -pw PASSWORT -load MYSETTINGS" 
03.
set oSplit = WshShell.Exec ('cscript 02_import_aus_db.vbs')  
04.
Do While oSplit.Status = 0  
05.
     WScript.Sleep 100 'hier wird gewartet bist das import.vbs fertig ist. 
06.
Loop ' wenn import.vbs fertig ist dann  
07.
putty.Terminate 'wird der Prozess beendet.
somit alle Klarheiten beseitigt?
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 14:47 Uhr
Sei mir nicht böse aber ich steh auf dem Schlauch

Den Code wo du gepostet hast ist das die neue 01_login_putty.vbs?????

Momentan versteh ich nur Bahnhof

Also bat hab ich gelöscht, brauch ich laut deiner Aussage nicht mehr

Dein geposteter Code ist das die 01_login_putty.vbs?

Was meinst du mit : Baust dort den Aufruf für 02_import_aus_db.vbs ein?

wie starte ich dann mein ganzes Szenario? Mit 01_login_putty.vbs?

Meine pivot.xls ist ja jetzt einen Ordner zurück
Bitte warten ..
Mitglied: godlie
02.03.2009 um 15:25 Uhr
Genau du startest den ganzen Vorgang mit der 01_login_putty.vbs ob du jetzt ne bat oder vbs aufrust ist ja egal.
Das was ich dort oben gepostet habe ist eigentlich die neue 01_login_putty.vbs

probiers mal aus
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 15:37 Uhr
Also ich poste meinen ganzen Code mit deinem Vorschlag hat es irgendwie nicht geklappt:

So sieht es bei mir aus.

Im meinem Hauptordner ist die pivot.xls

Hier gibt es eine Unterordner "skripte"
in diesem sind die 01_login_putty.vbs und 02_import_aus_jira.vbs enthalten
zudem gibts es hier einen Ordner putty, in dieser ist die putty.exe drin

so sieht die 01_login_putty.vbs ursprünglich aus: (mit deinem Vorschlag hat es irgendwie nicht geklappt)

01.
Set WSHShell = WScript.CreateObject("WScript.Shell") 
02.
WSHShell.Run "putty/putty -ssh server.systems.de -l user -pw Geheim -load MySettings"

die 02_import_aus_jira.vbs sieht so aus:

01.
Option Explicit 
02.
 
03.
'---- CursorTypeEnum Values ---- 
04.
Const adOpenForwardOnly = 0 
05.
' Const adOpenKeyset = 1 
06.
' Const adOpenDynamic = 2 
07.
' Const adOpenStatic = 3 
08.
 
09.
'---- LockTypeEnum Values ---- 
10.
Const adLockReadOnly = 1 
11.
' Const adLockPessimistic = 2 
12.
' Const adLockOptimistic = 3 
13.
' Const adLockBatchOptimistic = 4 
14.
 
15.
'---- CursorLocationEnum Values ---- 
16.
' Const adUseServer = 2 
17.
Const adUseClient = 3 
18.
 
19.
'---- ConnectModeEnum Values ---- 
20.
' Const adModeUnknown = 0 
21.
Const adModeRead = 1 
22.
' Const adModeWrite = 2 
23.
' Const adModeReadWrite = 3 
24.
' Const adModeShareDenyRead = 4 
25.
' Const adModeShareDenyWrite = 8 
26.
' Const adModeShareExclusive = &Hc 
27.
' Const adModeShareDenyNone = &H10 
28.
' Const adModeRecursive = &H400000 
29.
Dim objExcel, objWb, SkriptPfad 
30.
Dim objSheet 
31.
Dim Conn, RS 
32.
Dim rowCount, i, headerSet 
33.
 
34.
 
35.
 
36.
rowCount = 1 
37.
 
38.
SkriptPfad = WScript.ScriptFullName 'Pfadermittlung 
39.
SkriptPfad = Left(SkriptPfad, Len(SkriptPfad) - Len(WScript.ScriptName))  'Pfadermittlung 
40.
 
41.
 
42.
Set objExcel = CreateObject("Excel.Application")  
43.
Set objWb = objExcel.Workbooks.Open(SkriptPfad & "../pivot.xls")'öffnet die angegebene xls 
44.
 
45.
 
46.
 
47.
objExcel.Visible = True 
48.
objExcel.Sheets("Datenbasis").Select 'wählt die Mappe Datenbasis von pivot.xls 
49.
objExcel.Range("Datenbasis!$1:$65536").Delete 'löscht alle Inhalte von Mappe Datenbasis 
50.
 
51.
'Angabe des Tabellenblattes 
52.
Set objSheet = objExcel.ActiveWorkbook.WorkSheets("Datenbasis") 'Import in Tabellenblatt Datenbasis 
53.
 
54.
Set Conn = CreateObject("ADODB.Connection") 
55.
Conn.Provider = "MSDASQL" 
56.
Conn.Mode = adModeRead 
57.
Conn.CursorLocation = adUseClient 
58.
Conn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _ 
59.
          "DATABASE=dbname3123;" & _ 
60.
          "SERVER=localhost;", _ 
61.
          "user", "PW" 
62.
 
63.
Set RS = CreateObject("ADODB.Recordset") 
64.
RS.CursorLocation = adUseClient 
65.
'verwendete SQL-Anweisung 
66.
RS.Source = "SELECT  * from tabelle;" 
67.
Set RS.ActiveConnection = Conn 
68.
RS.CursorType = adOpenForwardOnly 
69.
RS.LockType = adLockReadOnly 
70.
RS.Open           
71.
 
72.
Do While Not RS.EOF 
73.
'Die Spalenüberschriften einfügen Bezug aus dem SQL-Statement 
74.
	If( headerSet = 0 ) Then 
75.
		For i = 0 to RS.Fields.Count - 1 
76.
		  objSheet.Cells(rowCount, i+1).Value = RS.Fields.Item(i).Name 
77.
		Next 
78.
		headerSet = 1 
79.
    End If 
80.
'Die dazugehörigen Werte einfügen 
81.
	For i = 0 to RS.Fields.Count -1  
82.
	  objSheet.Cells(rowCount+1, i+1).Value = RS.Fields.Item(i).Value 
83.
	Next 
84.
    rowCount = rowCount + 1 
85.
	RS.MoveNext 
86.
Loop 
87.
 
88.
RS.Close 
89.
Set RS = Nothing 
90.
 
91.
Conn.Close 
92.
Set Conn = Nothing 
93.
 
94.
 
95.
MsgBox "Datenimport abgeschlossen! Die Datenbasis zeigt den Stand vom " & Date & " bis " & Time & "!",64, "Reporting" 
96.
 
Bitte warten ..
Mitglied: godlie
02.03.2009 um 16:30 Uhr
so jetzt zum letzten male:

die 01_login_putty muss das 02_import aufrufen auf dessen beendigung warten und dann alles schliesen.

01.
01-login-putty: 
02.
Set WshShell = WScript.CreateObject("WScript.Shell") 
03.
set putty = WshShell.Exec("putty -ssh  -l  -pw ") 
04.
set oSplit = WshShell.Exec ("cscript 02_import_......vbs")  
05.
Do While oSplit.Status = 0  
06.
     WScript.Sleep 100 'hier wird gewartet bist das import.vbs fertig ist. 
07.
Loop ' wenn import.vbs fertig ist dann  
08.
putty.Terminate 'wird der Prozess beendet.
achja und mit deinem Vorschlag hat es irgendwie nicht geklappt <-- ist nicht förderlich für das debuggen
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 16:40 Uhr
meine neue 01_login_putty.vbs:

01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
set putty = WshShell.Exec ("putty/putty -ssh stems.de -l user -pw pass -load setting") 
03.
set oSplit = WshShell.Exec ("02_import_aus_db.vbs")  
04.
Do While oSplit.Status = 0  
05.
     WScript.Sleep 100 'hier wird gewartet bist das import.vbs fertig ist. 
06.
Loop ' wenn import.vbs fertig ist dann  
07.
putty.Terminate 'wird der Prozess beendet.
Fehler in Zeile 3
Fehler:02_import_aud_db.vbs ist keine zulässige Win32-Anwendung.
Code: 800700C1
Quelle:WshShell.Exec
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 17:07 Uhr
Stop! Stop!
Es geht
Ich hab dich bestimmt reichlich genervt heute, vielen Dank hab es hinbekommen ;)
Bitte warten ..
Mitglied: godlie
02.03.2009 um 22:20 Uhr
tja nur duch fehler fängt man an zu lernen
jetzt gehts ja wenn ich so bedenke hättest mir von anfang an erzählt was du willst wär das eine sachen von max. 2h gewesen.....
Bitte warten ..
Mitglied: KikiMiki
02.03.2009 um 23:03 Uhr
Ich werde versuchen mich zu bessern
Trotzdem Hut ab vor Leuten wie dir, die sich Gedanken über Probleme anderer machen und qualitativ hochwertige Ergebnisse liefern

Vielen Dank!!
Bitte warten ..
Mitglied: godlie
02.03.2009 um 23:09 Uhr
Warum fragt sowas niemand an das wären 50 euronen die stunde
Ne schwerz beiseite mir wurde damals soviel gegeben wo ich noch nix konnte und gewissse sachen sind schon interessant und sowas muss ich einfach lösen ( siehe pdf thread )

als dann viel spaß damit
Bitte warten ..
Mitglied: KikiMiki
03.03.2009 um 07:34 Uhr
Hi godlie,

due hast mir ja bei diesem vbs geholfen:

01.
Option Explicit 
02.
 
03.
'---- CursorTypeEnum Values ---- 
04.
Const adOpenForwardOnly = 0 
05.
' Const adOpenKeyset = 1 
06.
' Const adOpenDynamic = 2 
07.
' Const adOpenStatic = 3 
08.
 
09.
'---- LockTypeEnum Values ---- 
10.
Const adLockReadOnly = 1 
11.
' Const adLockPessimistic = 2 
12.
' Const adLockOptimistic = 3 
13.
' Const adLockBatchOptimistic = 4 
14.
 
15.
'---- CursorLocationEnum Values ---- 
16.
' Const adUseServer = 2 
17.
Const adUseClient = 3 
18.
 
19.
'---- ConnectModeEnum Values ---- 
20.
' Const adModeUnknown = 0 
21.
Const adModeRead = 1 
22.
' Const adModeWrite = 2 
23.
' Const adModeReadWrite = 3 
24.
' Const adModeShareDenyRead = 4 
25.
' Const adModeShareDenyWrite = 8 
26.
' Const adModeShareExclusive = &Hc 
27.
' Const adModeShareDenyNone = &H10 
28.
' Const adModeRecursive = &H400000 
29.
Dim objExcel, objWb, SkriptPfad 
30.
Dim objSheet 
31.
Dim Conn, RS 
32.
Dim rowCount, i, headerSet 
33.
 
34.
 
35.
 
36.
rowCount = 1 
37.
 
38.
SkriptPfad = WScript.ScriptFullName 'Pfadermittlung 
39.
SkriptPfad = Left(SkriptPfad, Len(SkriptPfad) - Len(WScript.ScriptName))  'Pfadermittlung 
40.
 
41.
 
42.
Set objExcel = CreateObject("Excel.Application")  
43.
Set objWb = objExcel.Workbooks.Open(SkriptPfad & "../pivot.xls")'öffnet die angegebene xls 
44.
 
45.
 
46.
 
47.
objExcel.Visible = True 
48.
objExcel.Sheets("Datenbasis").Select 'wählt die Mappe Datenbasis von pivot.xls 
49.
objExcel.Range("Datenbasis!$1:$65536").Delete 'löscht alle Inhalte von Mappe Datenbasis 
50.
 
51.
'Angabe des Tabellenblattes 
52.
Set objSheet = objExcel.ActiveWorkbook.WorkSheets("Datenbasis") 'Import in Tabellenblatt Datenbasis 
53.
 
54.
Set Conn = CreateObject("ADODB.Connection") 
55.
Conn.Provider = "MSDASQL" 
56.
Conn.Mode = adModeRead 
57.
Conn.CursorLocation = adUseClient 
58.
Conn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _ 
59.
          "DATABASE=dbname3123;" & _ 
60.
          "SERVER=localhost;", _ 
61.
          "user", "PW" 
62.
 
63.
Set RS = CreateObject("ADODB.Recordset") 
64.
RS.CursorLocation = adUseClient 
65.
'verwendete SQL-Anweisung 
66.
RS.Source = "SELECT  * from tabelle;" 
67.
Set RS.ActiveConnection = Conn 
68.
RS.CursorType = adOpenForwardOnly 
69.
RS.LockType = adLockReadOnly 
70.
RS.Open           
71.
 
72.
Do While Not RS.EOF 
73.
'Die Spalenüberschriften einfügen Bezug aus dem SQL-Statement 
74.
	If( headerSet = 0 ) Then 
75.
		For i = 0 to RS.Fields.Count - 1 
76.
		  objSheet.Cells(rowCount, i+1).Value = RS.Fields.Item(i).Name 
77.
		Next 
78.
		headerSet = 1 
79.
    End If 
80.
'Die dazugehörigen Werte einfügen 
81.
	For i = 0 to RS.Fields.Count -1  
82.
	  objSheet.Cells(rowCount+1, i+1).Value = RS.Fields.Item(i).Value 
83.
	Next 
84.
    rowCount = rowCount + 1 
85.
	RS.MoveNext 
86.
Loop 
87.
 
88.
RS.Close 
89.
Set RS = Nothing 
90.
 
91.
Conn.Close 
92.
Set Conn = Nothing 
93.
 
94.
 
95.
MsgBox "Datenimport abgeschlossen! Die Datenbasis zeigt den Stand vom " & Date & " bis " & Time & "!",64, "Reporting" 
96.
 
Kann man diesen Code abändern um eine 2. SQL Abfrage in ein 2. Tabellenblatt einzufügen?
Meine 1. Abfrage im Code lautet ja SELECT * from tabelle; und wird in das Tabellenblatt Datenbasis improtiert.

Wenn ich jetzt eine 2. Abfrage z.B. SELECT * from Kunde; in das Tabellenblatt Kundendaten improtieren möchte. Wie müsste der Code dann aussehen?

Beides in die gleiche Datei: pivot.xls
Die Spaltenüberschriften sind bei beiden Abfragen 100 % identisch
Bitte warten ..
Mitglied: godlie
04.03.2009 um 14:47 Uhr
Hallo ich komme erst morgen mal dazu dir das umzubauen das mehrere Queries machen kannst.
Ist aber eigentlich recht einfach man muss nur den Teil der den Query absetzt und dann in die entsprechenden Zeilen scrheib in eine Funktion verfrachten und mit Parametern versehen.
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
SAN, NAS, DAS
Storage RAID LUN Konfiguration - Wie macht ihr es (4)

Frage von Marco-83 zum Thema SAN, NAS, DAS ...

Windows Netzwerk
Konfiguration Linux VM in IIS-Manager (10)

Frage von HansWerner1 zum Thema Windows Netzwerk ...

Windows 7
gelöst Chrome for Work Konfiguration (5)

Frage von xbast1x zum Thema Windows 7 ...

Windows Server
Exchangeserver 2016 - Konfiguration DNS (6)

Frage von Xaero1982 zum Thema Windows Server ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...