Eingabe in eine interaktive Befehlszeilenanwendung

Ich möchte Eingaben an eine Befehlszeilenschnittstelle für Cisco AnyConnect sendenvpncli.exe (v2.3), um die (erneute) Verbindung zu automatisieren. Es werden weder Benutzername noch Kennwort als Befehlszeilenargumente verwendet, sondern diese werden interaktiv vom Benutzer über die Befehlszeilenschnittstelle gelesen.

Problem ist, dass Rohrleitungen Eingang zuvpncli.exe scheint für das Passwort nicht zu funktionieren. Es funktioniert für alles außer dem Passwort. Also funktioniert so etwas nicht:

vpncli.exe < input.txt
type input.txt | vpncli.exe

Die Anwendung bleibt einfach dort hängen, wo sie nach dem Passwort fragt.


Unten sehen Sie ein Beispiel für eine normale (funktionierende) Ausführung, bei der der Benutzer die Parameter eingibt:

Beachten Sie, wie die Kennwortzeichen umgewandelt werden*.


Die Verwendung von Tools wie AutoIt oder AutoHotKey zum Senden der Eingaben an ein Eingabeaufforderungsfenster funktioniert zwar, ist jedoch umständlich und instabil (funktioniert nicht, wenn das Tool aus irgendeinem Grund nicht an das Eingabeaufforderungsfenster gelangt).


Gibt es eine Möglichkeit, mithilfe von PowerShell Eingaben an eine solche interaktive CLI-Anwendung zu senden?

(Oder mit einer anderen Skriptsprache oder einem anderen Mittel?)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage