Powershell Passwortüberprüfung

Kongagaa

Grünschnabel
Hi zusammen, hab wieder ne frage.
Ich möchte gerne wissen, wie ich eine Eingabe auf Ihre Richtigkeit überprüfe (Passworteingabe)
Hier das Programm
cls
$secret = Read-Host "Bitte geben Sie Ihr Kennwort ein!" -AsSecureString
if ($secret -eq "test") <-- hier fehlt noch etwas, leider komme ich nicht drauf was
Write-Host "Ihr Bankguthaben beträgt 3 Franken!"
else{"Falsches Passwort"}
Hoffe auf eine gute und rasche Antwort
LG Kongagaa
 
Du vergleichst einen SecureString mit einem String, das geht so nicht. Sinnvoll wäre es, erst den SecureString zu decrypten.
Das geht z.B. so:

Code:
[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($secret))
 
Wie kann ich diese Zeile in meinen Code einbringen? So wie ich das gemacht habe, wird der Text, den ich eingebe, nur ausgegeben und nicht geprüft. Jedoch das Prinzip gefällt mir. Ich weiss nicht, wie Sie gedacht haben, das ich den Code einbaue, deshalb hab ich es einfach so gemacht:
cls
$secret = Read-Host "Bitte geben Sie Ihr Kennwort ein!" -AsSecureString
[Runtime.InteropServices.Marshal]::ptrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($secret))
Aber wie gesagt, meine Eingabe wird nicht überprüft
 
Du sollst nicht mehr $secret mit "test" vergleichen, sondern das Ergebnis der genannten Zeile mit "test" vergleichen.
 
Zurück