/ / RegEx के अनुसार एक यादृच्छिक पासवर्ड उत्पन्न करना - powerhell, powerhell-ise

RegEx के अनुसार एक यादृच्छिक पासवर्ड उत्पन्न करना - powerhell, powerhell-ise

मैं 6 वर्ण पासवर्ड उत्पन्न करने की कोशिश कर रहा हूं लेकिन मैं चाहता हूं कि प्रत्येक पत्र सही RegEx से मेल खाता हो।

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 यादृच्छिक पूर्णांक उत्पन्न कर रहा है।

मैं गेट-रैंडम सेमीडलेट का उपयोग करना चाहता हूं

उत्तर:

उत्तर № 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

इसके बजाय, आपको अपने प्रत्येक अनुमत / आवश्यक पात्रों के सरणी की आवश्यकता है, फिर उनसे चुनें, और उन्हें एक साथ रखें। देख यह जवाब एक बहुत ही समान स्थिति के समाधान के लिए।


जवाब के लिए 0 № 2

ठीक।

@(
[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 ""