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

Passwort aus .txt kopieren und mittels sendkeys absetzen.

Frage Entwicklung

Mitglied: chuwack

chuwack (Level 1) - Jetzt verbinden

09.05.2011, aktualisiert 10.05.2011, 3705 Aufrufe, 12 Kommentare

Bin neu auf dem Gebiet .vbs und benötige etwas Hilfe

Hallo alle zusammen, ich habe ein kleines Problem mit meinem Skript.

Möchte mit meiner .vbs auf ein Netwerk über Telnet zugreifen und dorf einige Befehle absetzen.
Der Zugriff und das Absetzen alle Befehle klappt wunderbar - ein Problem habe ich da aber leider noch.

Das Passwort welches für den Zugang auf das Netzwerk benötigt wird verändert sich täglich. <Was kein Problem ist da dieses mit einem Tool errechnet wird und in einer .txt gespeichert.
Mein Problem ist jetzt wie ich mit sendkeys das Passwort aus dieser .txt "kopiere" um dann wieder über sendkeys "einsetze" und absende.


So wollte ich es lösen.

set sh=WScript.CreateObject("WScript.Shell")
sh.run "Telnet 192.168.100.1"
WScript.Sleep 3000
Set fso = CreateObject("Scripting.FileSystemObject") << dachte es würde mit fso funktionieren
Set daykey = fso.CreateTextFile("C:\daykey.txt", True)
sh.SendKeys "daykey"&vbcr
WScript.Sleep 3000
sh.SendKeys "switch"&vbcr
WScript.Sleep 12000
sh.SendKeys "quit"&vbcr
WScript.Sleep 200
sh.SendKeys ""&vbcr
Mitglied: brammer
09.05.2011 um 20:36 Uhr
Hallo,

zum Thema vbs kann ich dir leider nichts sagen, da gibt es hier eine Handvoll Spezialisten die das beherrschen und sich auch dazu äußern werden.

Nur zum Passwort Handling habe ich ein flaues Gefühl in der Magengegend.
Wenn dein Passwort täglich geändert wird, dann vemrutlich aus Sicherheitsgünden, dieses dann in eine txt Datei zu schreiben und diese von durch vbs auslesen zu lassen führt das gesamte damit verbundene Sicherheitskonzept ad absurdum.
Meiner Meinug nach gehören Passwörter in den Kopf oder in in einen Passwort Safe mit einem Master Key, aber keinesfalls in eine txt Datei.
Sich per Telnet auf einen Router oder Switch zu verbinden widerstrebt mir schon von Grund auf da unverschlüsselt. aber das Passwort dann noch offen rum liegen zu lassen, halte ich für suspekt und sollte überdacht werden.

brammer
Bitte warten ..
Mitglied: chuwack
10.05.2011 um 04:56 Uhr
Guten Morgen,

dein Gedanke ist richtig. Meine Absicht ist es jedoch zunächst eine funktionierende Basis zu schreiben und diese dann bei Bedarf weiter entwickeln.


Chuwack
Bitte warten ..
Mitglied: bastla
12.05.2011 um 16:38 Uhr
Hallo chuwack, hallo brammer!

Obwohl ich eigentlich nur brammers Argumentation nachvollziehen (und unterstützen) kann: Um ein "Enter" per "SendKeys" zu realisieren, müsste das so aussehen:
sh.SendKeys "daykey~"
Siehe dazu: http://msdn.microsoft.com/en-us/library/8c6yea83%28v=vs.85%29.aspx

Grüße
bastla
Bitte warten ..
Mitglied: chuwack
12.05.2011 um 17:04 Uhr
Das Problem ist dass "er" mir nicht das Passwort aus der .txt sondern einfach nur "daykey" abschickt.
Bitte warten ..
Mitglied: bastla
12.05.2011 um 17:12 Uhr
Hallo chuwack!

Sorry, hatte nur oberflächlich gelesen ...

Dann eher so:
01.
daykey = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\daykey.txt").ReadLine 
02.
sh.SendKeys daykey & "~"
Grüße
bastla
Bitte warten ..
Mitglied: chuwack
13.05.2011 um 10:02 Uhr
Guten Morgen Bastla,

vielen Dank für deine Hilfe - es scheint schon in die richtige Richtung zu gehen aber einen Fehler wirft mit der WSHost noch raus:




Skript: C:\admin\...\....\meine.vbs
Zeile: 6
Zeichen: 1
Fehler: Objekt erforderlich: '[string. "currentkey"]'
Code: 800A01A8
Quelle: Laufzeitfehler in Microsoft VBScript


Liegt dies vll. daran das ich bei SendKeys nicht einfach "daykey" schreiben darf sonder das was vom Netzwerk kommt - in dem Fall "Enter password>" ?
Bitte warten ..
Mitglied: bastla
13.05.2011 um 10:09 Uhr
Hallo chuwack!

Einen Fehler in einer mir unbekannten Zeile zu interpretieren ist etwas schwierig ...
Liegt dies vll. daran das ich bei SendKeys nicht einfach "daykey" schreiben darf sonder das was vom Netzwerk kommt - in dem Fall "Enter password>" ?
"SendKeys" macht das, was der Name sagt - "Tastendrücke senden"; was im Zielfenster wo steht, ist dabei irrelevant ...

Grüße
bastla

P.S.: Da Du ja sicherlich noch etwas Code posten möchtest: http://www.administrator.de/helpsystem/detail.php?idx=20#toc28
Bitte warten ..
Mitglied: chuwack
23.05.2011 um 09:50 Uhr
Guten Morgen Bastal,

...muss mich erstmal dafür entschuldigen, dass ich mich eine längere Zeit nicht melden konnte, war beruflich im Ausland und hatte für mein Hobby/Vorhaben leider nicht die richtige Zeit.



zu meinem Code:

01.
  
02.
set sh=WScript.CreateObject("WScript.Shell") 
03.
WScript.Sleep 200 
04.
sh.run "Telnet 192.168.100.1" 
05.
WScript.Sleep 3000 
06.
Set daykey = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\Dokumente und Einstellungen\hup\Desktop\back\hobby\daykey.txt").ReadLine  
07.
sh.SendKeys daykey & "~" 
08.
WScript.Sleep 3000 
09.
sh.SendKeys ""&vbcr


01.
  
02.
FAULT > Windows Script Host  
03.
Skript: C:\...\...\....\meine.vbs 
04.
Zeile: 4 
05.
Zeichen: 1 
06.
Fehler: Objekt erforderlich: '[string. "currentkey"]' 
07.
Code: 800A01A8 
08.
Quelle: Laufzeitfehler in Microsoft VBScript



Wie gesagt der kleine Erfolg ist schon zu vollziehen - Key wird gefunden.
Bitte warten ..
Mitglied: bastla
23.05.2011 um 16:02 Uhr
Hallo chuwack!

Ich sehe leider nicht, wie ich den in der Fehlermeldung erwähnten Wert "currentkey" Deinem geposteten Script zuordnen sollte ...

Grüße
bastla
Bitte warten ..
Mitglied: chuwack
23.05.2011 um 16:39 Uhr
Hey,

der "currentkey" ist nur ein Beispiel für den Inhalt der "daykey.txt". Currentkey wäre jetzt das heutige Passwort welches aus der daykey.txt herausgelesen wurde.... bloß was will er jetzt mit dem string.



Viele Grüße
Bitte warten ..
Mitglied: bastla
23.05.2011 um 17:36 Uhr
Hallo chuwack!

Wenn schon die Datei "daykey.txt" gelesen wurde, kann der Fehler aber nicht aus der geposteten Zeile 4 kommen - abgesehen davon, dass Du an den Anfang der Zeile 6 ein "Set" (das dort definitiv nicht hingehört) gesetzt hast ...

Grüße
bastla
Bitte warten ..
Mitglied: chuwack
25.05.2011 um 09:24 Uhr
Guten Morgen!

Habe gestern den Code nochmals korrigiert, >set< entfernt und siehe da, alles funktioniert.


Vielen Dank für die Unterstützung, sehr kompetente und wissende Mitglieder hier im Forum!


Final....

01.
set sh=WScript.CreateObject("WScript.Shell")  
02.
WScript.Sleep 200  
03.
sh.run "Telnet 192.168.100.1"  
04.
WScript.Sleep 3000  
05.
daykey = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\Dokumente und Einstellungen\hup\Desktop\back\hobby\daykey.txt").ReadLine   
06.
sh.SendKeys daykey & "~"  
07.
WScript.Sleep 3000  
08.
sh.SendKeys ""&vbcr

best regards
chuwack
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

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

(2)

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

Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...