Hallo und viele Grüße von einem Neuling, sowohl im Forum, als auch in AutoIt.
Zu meinem Problem. Ich habe eine Batch gebastelt, die nach Aufruf eine Aktion abfragt. Es soll ein Dienst neugestartet werden, dabei werden Username und Passwort übertragen:
@echo off
:auswahl1
set /p frage1="Wollen Sie den Dienst neustarten? Eingabe 'ja' (ohne ') - Dienst wird neu gestartet, Eingabe 'nein' (ohne ') - Dienst wird nicht neu gestartet, Eingabe 'ende' (ohne ') - Programm wird beendet, Bestaetigung jeweils mit 'Enter'-Taste:"
if /i %frage1%==ja goto ja
if /i %frage1%==nein goto nein
if /i %frage1%==ende goto end
goto nichts
:ja
echo Sie haben 'ja' eingegeben.
goto auswahl2
pause
:nichts
echo Sie haben eine falsche Antwort eingegeben. Sie kehren nun zum Anfang zurueck.
goto auswahl1
pause
:nein
echo Sie haben 'nein' eingegeben. Sie kehren nun zum Anfang zurueck.
goto auswahl1
pause
:auswahl2
echo Sind Sie sicher? Damit bestaetigen Sie im folgenden Schritt, dass Sie den Support nicht erreichten! Weiterhin wird eine E-Mail an Sie persoenlich versendet. Eingabe 'ja', 'nein', 'ende':
set /p frage2=Eingabe:
if /i %frage2%==ja goto start-dienst
if /i %frage2%==nein goto nein
if /i %frage2%==ende goto end
goto nichts
:start-dienst
echo Der Dienst wird neu gestartet.
psexec.exe \\sql-server1\ -u administrator -p passw0rd schtasks /run /TN restart-dienst
:end
echo Das Programm wird nun beendet.
pause
exit
Alles anzeigen
Es wird nun gewünscht, dass das Passwort des Admins nicht als Klartext übermittelt wird bzw. dass das Script keine temporären Dateien erstellt, aus denen das PW ausgelesen werden könnte.
Ist es möglich, diese Anforderung mit AutoIt zu bewerkstelligen? Wenn ja, wo kann ich nach einer Lösung suchen bzw. wie würde die Syntax heißen, mit der dies möglich ist? Es müsste in diesem Fall psexec durch ein anderes Modul ersetzt werden, um den Task an den Remote-Computer zu übermitteln. Geht das mit AutoIt wie gewünscht?
Ein weiterer Weg wäre evtl., diese Batch zu einer Exe zu kompilieren, jedoch bringt Aut2Exe die Fehlermeldung, dass ein String nicht geparsed werden konnte. Ist es mit AutoIt-Modulen generell nicht möglich, Batches zu ausführbaren Datein zu kompilieren?
Danke vorab für jede Hilfe.