Question création d'un demandeur de mot de passe

Plus d'informations
il y a 1 an 1 mois - il y a 1 an 1 mois #33550 par Tiwo68
le problème est que si je met le bon mdp il dis qu'il est faux :(
$Word = Read-Host "Enter password:" -AsSecureString
if ($Word -eq 10)
{
echo mot_de_passe_correct_!
}
if ($Word -ne 10)
{
echo mot_de_passe_incorrect_!
}

Read-Host "Appuyez sur ENTREE pour continuer..."
Pièces jointes :
Dernière édition: il y a 1 an 1 mois par Arnaud Petitjean. Raison: Intégration du script dans le corps du message

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 1 mois #33551 par Arnaud Petitjean
Bonjour Tiwo !

Merci de te présenter dans le forum Qui êtes-vous PowerShelleurs ? et d'utiliser des bonnes manières en termes de politesse.

Comme tu as choisi d'utiliser le paramètre -AsSecureString de la commande Read-Host, tu vas récupérer une chaine sécurisée.
Et à ce titre, tu ne peux plus accéder à son contenu en clair. Donc la comparaison n'est plus possible.

Ce type est utilisé pour protéger les secrets, tels que des mots de passe.

Arnaud
 

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Les utilisateur(s) suivant ont remercié: Tiwo68

Connexion ou Créer un compte pour participer à la conversation.

  • ericlm128
  • Visiteur
  • Visiteur
il y a 1 an 1 mois #33553 par ericlm128
Réponse de ericlm128 sur le sujet création d'un demandeur de mot de passe
Bonjour,

Voici comment faire
function Get-UnSecureString([System.Security.SecureString]$SecureString)
{
    $BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString)
    $UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
    [Runtime.InteropServices.Marshal]::ZeroFreeBSTR($BSTR)
    return $UnsecurePassword
}

$SecureString = Read-Host "Enter password:" -AsSecureString

Get-UnSecureString -SecureString $SecureString

Connexion ou Créer un compte pour participer à la conversation.

  • ericlm128
  • Visiteur
  • Visiteur
il y a 1 an 1 mois #33554 par ericlm128
Réponse de ericlm128 sur le sujet création d'un demandeur de mot de passe
Ou ceci encore
$SecureString = Read-Host "Enter password:" -AsSecureString
[System.Net.NetworkCredential]::new("", $SecureString).Password

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 1 mois - il y a 1 an 1 mois #33555 par Tiwo68
j'ai pas trop compris tu peu expliquer ? (le code) mais merci ;)
je n'arrive pas a l'adapter pour mon code avec les variables :/
Dernière édition: il y a 1 an 1 mois par Tiwo68.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 1 mois #33556 par Tiwo68
$UnsecurePassword = 998668

function Get-UnSecureString([System.Security.SecureString]$SecureString)
{
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString)
$UnsecurePassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($BSTR)
return $UnsecurePassword
}

$Word = Read-Host "Enter password:" -AsSecureString

Get-UnSecureString -SecureString $SecureString
$Word = 0

if ($Word -eq $mdp)
{
echo mot_de_passe_correct_!
}
else{
echo mot_de_passe_incorrect_!
}

Read-Host "Appuyez sur ENTREE pour continuer..."

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.131 secondes
Propulsé par Kunena