/ / RegEx - powershell、powershell-iseに従ってランダムなパスワードを生成する

RegEx - powershell、powershell-iseに従ってランダムなパスワードを生成する

私は6文字のパスワードを生成しようとしていますが、各文字が正しい正規表現に一致するようにします。

RegExは:

[a-z][A-Z][0-9][a-z][!@#$%^&*?+][A-Z]

私は現在ここにいる:

$passwd = @(1..6)
For ($i = 0; $i -lt $passwd.length; $i++){
Get-Random $passwd[$i]
}

しかし、これはすべて6つのランダムな整数を生成することです。

Get-Randomコマンドレットを使用したい

回答:

回答№1は1

それはあなたが行うべきことを正確に表しているので、「6つのランダムな整数を生成する」のです。 $passwd 整数1から6の配列です。そして、あなたは基本的に Get-Random その配列をループすることで6回:

Get-Random 1
Get-Random 2
Get-Random 3
Get-Random 4
Get-Random 5
Get-Random 6

代わりに、それぞれの許可された/要求された文字の配列が必要であり、次にそれを選択してそれらをまとめます。見る この答え 非常によく似た状況の解決策です。


回答№2の場合は0

OK。

@(
[char](97..122 | get-random),
[char](65..90 | get-random),
(0..9 | get-random),
[char](97..122 | get-random),
("!","@","#","$","%","^","&","*","?",";","+" | get-random),
[char](65..90 | get-random)
) -join ""