Le script ci dessous n’est pas très élaboré mais il a l’avantage d’être simple, compréhensible et facilement adaptable. Dans sa forme actuelle, il permet de générer un mot de passe de 9 caractères composé comme suit : une Majuscule + 4 caractères minuscules + 1 caractère spécial + 3 chiffres. Je vous laisse le soin de le modifier pour l’adapter à vos besoins.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$azLower = 'abcdefghijklmnopqrstuvwxyz'.ToCharArray() $azUpper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.ToCharArray() $special = '&!#@?%*'.ToCharArray() $digit ='0123456789'.ToCharArray() function GeneratePwd { # 1 majuscule + 4 minuscule + 1 car special + 3 chiffres $A = -join ($azUpper | Get-Random -Count 1) $B = -join ($azLower | Get-Random -Count 4) $C = -join ($special | Get-Random -Count 1) $D = -join ($digit | Get-Random -Count 3) $A + $B + $C + $D } GeneratePwd |
Voici le résultat du script exécuté 20 fois :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
PS C:\cmd\ps> 1..20 | % {.\NA-GeneratePwd.ps1} Cdpvy#681 Wylvt#983 Pnztg@682 Wuvfk!580 Dpmga#142 Qpbsf*076 Bjyom@276 Wuyng@654 Izmlq?687 Fgizb!984 Lekyd!159 Zmjhi?058 Wvzyo?312 Bxoqc%629 Itorl@196 Lumil#205 Aucwh@450 Xzsgq!710 Afwzu*847 Esmfz#207 PS C:\cmd\ps> |