Powershell Passwortüberprüfung


Kongagaa

Grünschnabel
#1
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
 

HonniCilest

Erfahrenes Mitglied
#2
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))
 

Kongagaa

Grünschnabel
#3
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
 

Neue Beiträge