Wie kann ich die Lesefunktion von Powershell verwenden, um ein Kennwort für einen externen Dienst zu akzeptieren?

Ich habe ein Skript, das ich schreibe und das eine Verbindung zu einem SOAP-Dienst herstellt. Nachdem die Verbindung hergestellt wurde, muss ich bei jedem Befehl, den ich sende, den Benutzernamen / Pass eingeben. Das Problem, das ich habe, ist, dass wenn ich dazu read-host verwende, mein Passwort im Klartext angezeigt wird und in der Shell bleibt:

PS C:\Users\Egr> Read-Host "Enter Pass"
Enter Pass: MyPassword
MyPassword

Wenn ich es mit -AsSecureString verstecke, kann der Wert nicht mehr an den Dienst übergeben werden, da es sich nun um ein System.Security.SecureString-Objekt handelt:

PS C:\Users\gross> Read-Host "Enter Pass" -AsSecureString
Enter Pass: **********
System.Security.SecureString

Wenn ich das übergebe, funktioniert es nicht. Es ist mir egal, ob die Passwörter im Klartext an den Dienst übergeben werden. Ich möchte nur nicht, dass sie nach der Eingabe des Passworts in der Shell eines Benutzers bleiben. Ist es möglich, die Read-Host-Eingabe auszublenden, das Passwort jedoch als Klartext zu speichern? Wenn nicht, gibt es eine Möglichkeit, das System.Security.SecureString-Objekt als Klartext zu übergeben?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage