0

我正在尝试在 PowerShell 中编写密码生成器,除了if语句之外一切正常。我在问密码是否包含任何特殊字符或数字。如果它不包含它们中的任何一个,它应该输出一个错误,如果它包含数字或字符,它应该写入密码。

我正在尝试使用数组和 ASCII 来做到这一点。我正在使用 for 循环将字符写入数组,稍后,我将它们转换为我想要的特定字符。

这是我正在做的一个学校项目。我试图删除if语句中的括号,但即使没有特殊字符和数字,它也会显示密码。

$RandomePassword = "abC!231"
for ($ASCII = 33  ; $ASCII -le 64 ; $ASCII++) {
    $char += @($ASCII)
} 

if ($RandomePassword -like ([char[]]$char -join "|")) {
    write (($RandomePassword -split '' | Sort-Object {Get-Random}) -join '')
} else {
    write "ERROR"
}

预期的结果是:

$RandomePassword = "Abc!12"⇒ 在命令行上写入密码
$RandomePassword = "Abc"⇒ 写入错误

4

0 回答 0