Question Créer un mot de passe en 3 sessions

Plus d'informations
il y a 1 an 3 mois #32859 par arro
Bonjour à toutes et à tous, 

Depuis quelques jours j'essaye de créer un mot de passe via powershell ISE. Par exemple,  quand le mot de passe est mauvais il me demande "Veuillez introduire un mot de passe"
et ce, 3 fois, puis la session se ferme.

Dans mes lignes de code je commence comme cela : 

$password = read-host "Veuillez introduire un mot de passe"
$mdp = "password123"

if ($mdp -ne $password) 
{
write-host "Veuillez introduire un mot de passe" 
}

#Jusque là ça ne pose pas de soucis je peux même clôturer mon script en terminant par :

if ($mdp -eq $password)
{
write-host "connexion réussie"
}

Mais voilà je ne sais pas comment mettre en ligne de code les 3 possibilités d'introduction d'un mot de passe comme un code pin de carte sim, après 3 erreurs c'est terminé. 
Auriez-vous quelques tuyaux car je galère un peu. 

Je vous en remercie d'avance. ;)
 

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

Plus d'informations
il y a 1 an 3 mois #32860 par Laurent Dardenne
Salut,
utilise une boucle Do Until .
Incrémente le compteur dans le bloc associé au test if ($mdp -ne $password)

Tutoriels PowerShell
Les utilisateur(s) suivant ont remercié: arro

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

Plus d'informations
il y a 1 an 3 mois #32866 par arro
Réponse de arro sur le sujet Créer un mot de passe en 3 sessions
Ok super merci et comment tu implémentes le do until?

je dois le mettre entre chaque if ?

Je ne vois pas ce que tu veux dire pas incrémenter le compteur dans le bloc associé au test if, tu peux m'éclairer :) ?

Merci de ta réponse en tout cas c'est sympa :)

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

Plus d'informations
il y a 1 an 3 mois #32869 par Laurent Dardenne
>>comment tu implémentes le do until?
Voir le lien indiqué.

>>Je ne vois pas ce que tu veux dire pas incrémenter le compteur dans le bloc associé au test if, tu peux m'éclairer
Il faut relire les spec ;-)
>>quand le mot de passe est mauvais il me demande "Veuillez introduire un mot de passe"
>>et ce, 3 fois, puis la session se ferme.
Il faut bien ajouter une variable pour compter le nombre de tentative.

>>je dois le mettre entre chaque if ?
Non, "Incrémente le compteur dans le bloc associé au test if ($mdp -ne $password")

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 3 mois - il y a 1 an 3 mois #32897 par ericlm128
Ou avec une boucle for
$mdp = "password123"

for ($i = 0; $i -lt 3 ; $i++)
{
    $password = Read-Host "Veuillez introduire un mot de passe"
    if ($mdp -eq $password)
    {
        Write-Host "Réussie"
        break
    }
}

ou ceci
$mdp = "password123"

0..2 | ForEach-Object {
    $password = Read-Host "Veuillez introduire un mot de passe"
    if ($mdp -eq $password)
    {
        Write-Host "Réussie"
        break
    }
}
Dernière édition: il y a 1 an 3 mois par ericlm128.

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

Plus d'informations
il y a 1 an 3 mois #32902 par arro
Réponse de arro sur le sujet Créer un mot de passe en 3 sessions
Génial, encore merci ça fonctionne très bien.

Donc si je comprends bien, tu incrémentes une variable et tu lui donnes comme valeur "0" en lui disant que si il est inférieur à 3 ça renvoi en read-host "veuillez introduire un mot de passe. et le $++ pour faire 1+1 c'est ça ?

J'analyse et j'essaye de comprendre sinon le travail pré mâché sans comprendre c'est pas l'idéal :p

Encore merci ;)

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

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