我正在尝试在 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"
⇒ 写入错误