riley92
Goto Top

EditVar lässt meinen Befehlsprozessor abstürzen.. Gründe oder Alternativen?

Hallo,
Ich programmier nun schon seit einiger Zeit an einem privaten Programm, bei der ich eine Passwortabfrage integriert habe.
Nun wollte ich das Passwort gerne verschlüsseln/verdecken mit Sternchen, hab mich ein wenig umgesehen und mich für EditVar entschieden. Klappt soweit auch alles ganz gut.

Ich kompiliere meine .bat mit einem Programm zu einer .exe und integriere die Programme, die das Script nutzt mit hinein (PsExec, PsList, PsKill, PsPing, EditV64), so wird bei der Ausführung ein Ordner in %TEMP% erstellt mit dem Script und den Dateien.

Damit PsExec in dem Script funktioniert, muss ich die .exe als Administrator ausführen, dabei stürzt aber leider mein Befehlsprozessor ab. Wenn ich die Datei ohne Administrator-Attribut ausführe, funktioniert zwar die Passwortabfrage mit Sternchen (EditV64), aber PsExec kann die Verbindung nicht mehr erfolgreich aufbauen.

Wisst ihr zufällig, woran das liegen könnte oder wie ich den Fehler beseitigen kann?
Oder habt ihr vielleicht noch gute Alternativen?
Ich hätte die komplette Geschichte am liebsten im Eingabefenster und nicht in einem Extra-Fenster.

Liebe Grüße

Content-Key: 205720

Url: https://administrator.de/contentid/205720

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: rubberman
rubberman 26.04.2013 um 19:50:30 Uhr
Goto Top
Hallo Riley92.

Ich kompiliere meine .bat mit einem Programm zu einer .exe
Wenn ich sowas lese, bekomme ich sofort Frostbeulen im Genick.

Vielleicht möchtest du das Ding ja erst mal ohne "Kompilierung" zum Fliegen bringen, wenn du es als Admin ausführst. Dein Arbeitsverzeichnis ist dann nämlich ganz woanders, als du glaubst (ein
echo "%cd%\"
und ein
echo "%~dp0"
werden dir helfen das herauszufinden). Was dann dieser Bat2Exe Kram veranstaltet, wenn er als Admin gestartet wird, mag ich mir lieber nicht ausmalen ...

Grüße
rubberman
Mitglied: Riley92
Riley92 26.04.2013 um 20:23:22 Uhr
Goto Top
Ich hab mal ein ganz kleines Testscript kompiliert mit den beiden echos und als Ergebnis kommt bei %cd%\ dasselbe raus wie bei %~dp0%\ egal ob mit Administrator-Attribut oder nicht.
Wenn ich die .bat direkt ausführe ändert sich bei eingeschaltetem Administrator-Attribut das Verzeichnis %cd%\ vom akutellen Verzeichnis auf C:\Windows\system32\

Bei der Version ohne EditV64 funktionieren die anderen Programme so wie sie sollen.

Bei kompilierter .bat mit Administrator-Attribut sind die Verzeichnisse identisch, das Programm "findet" er auch.
Ich kann das Passwort eingeben, da kommen dann auch hübsch Sternchen statt Zahlen/Buchstaben, auch wenn ich nichts eingebe zeigt er das vorprogrammierte "Falsche Eingabe!".
Aber sobald ich eine Eingabe mit Enter bestätige, sagt mir Windows "Befehlsprozessor funktioniert nicht mehr".
Mitglied: rubberman
rubberman 26.04.2013 um 21:09:47 Uhr
Goto Top
Hallo Riley92,

wenn du unterschiedliche Ausgaben bekommst, ist das noch einmal ein eindeutiges Indiz dafür, dass du Batch auch Batch bleiben lassen solltest. Vergiss diesen Bat2Exe Unsinn. Wenn es unbedingt ein Executable sein muss, dann nutze eine kompilierbare Programmiersprache. Damit kannst du dann auch deine Sternchenausgabe selbst umsetzen.

Grüße
rubberman
Mitglied: Riley92
Riley92 26.04.2013 um 21:46:20 Uhr
Goto Top
Ja das hatte ich nachträglich auch nochmal vorgehabt, aber für den Moment muss/soll Batch erstmal reichen.
Gibt es denn trotzdem eine Möglichkeit, die gewünschte Lösung (erstmal) auf Batch zu realisieren?
Ansonsten lass ich das mit den Sternchen erstmal.
Mitglied: rubberman
rubberman 27.04.2013 aktualisiert um 14:59:27 Uhr
Goto Top
Hallo Riley92,

keine Ahnung. Dazu müsste man der Entwickler dieser Tools sein.
Such doch einfach im Internet nach Alternativen. Ich hab mal schnell so eine Passworteingabe in C geschrieben. Falls du willst, kannst du dir die pass.zip downloaden. Beispielaufruf und C-Sourcedatei sind natürlich dabei. Ob das Ding dann auch funktioniert, wenn du es mit deinem Bat2Exe Tool verwurstet hast, kannst nur du selbst probieren.

Grüße
rubberman