Powershell 验证输入
Powershell validate input
我正在尝试验证 powershell 中的一些输入。
用户应输入新 AD 用户的用户名。应对此用户名验证任何无效字符(例如 !、$、; 等)。
有效字符为 a-z(大写和小写)、0-9、_、- 和 ,
感谢您的帮助。
目前我的代码如下所示:
do{
$input="notok"
# Eingabe es Usernamen
Write-Host "Bite den Usernamen eingeben"
$Username = Read-Host
if ($Username -notmatch "[a-zA-Z0-9_.-]") {
Write-Host ""
Write-Host "ACHTUNG: Benutzer $Username enthaelt ungueltige Zeichen (nur a-z, A-Z, 0-9, ., - und _ erlaubt), bitte die Eingabe wiederholen" -ForegroundColor Red
Write-Host ""
$input="notok"
}else{
$input="ok"
}
}while($input -ne "ok")
您可以使用参数,并使用内置参数验证:
Param(
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
[ValidateScript({$_-match "^[a-zA-Z0-9_\-,]+$"})]
[String]
$Username
)
试试这个:
do{
$input="notok"
# Eingabe es Usernamen
Write-Host "Bite den Usernamen eingeben"
$Username = Read-Host
if ($Username -notmatch "^[a-z0-9_.-]*$") {
Write-Host ""
Write-Host "ACHTUNG: Benutzer $Username enthaelt ungueltige Zeichen (nur a-z, A-Z, 0-9, ., - und _ erlaubt), bitte die Eingabe wiederholen" -ForegroundColor Red
Write-Host ""
$input="notok"
}else{
$input="ok"
}
}while($input -ne "ok")
我正在尝试验证 powershell 中的一些输入。 用户应输入新 AD 用户的用户名。应对此用户名验证任何无效字符(例如 !、$、; 等)。 有效字符为 a-z(大写和小写)、0-9、_、- 和 ,
感谢您的帮助。
目前我的代码如下所示:
do{
$input="notok"
# Eingabe es Usernamen
Write-Host "Bite den Usernamen eingeben"
$Username = Read-Host
if ($Username -notmatch "[a-zA-Z0-9_.-]") {
Write-Host ""
Write-Host "ACHTUNG: Benutzer $Username enthaelt ungueltige Zeichen (nur a-z, A-Z, 0-9, ., - und _ erlaubt), bitte die Eingabe wiederholen" -ForegroundColor Red
Write-Host ""
$input="notok"
}else{
$input="ok"
}
}while($input -ne "ok")
您可以使用参数,并使用内置参数验证:
Param(
[Parameter(Mandatory=$false,ValueFromPipeline=$true)]
[ValidateScript({$_-match "^[a-zA-Z0-9_\-,]+$"})]
[String]
$Username
)
试试这个:
do{
$input="notok"
# Eingabe es Usernamen
Write-Host "Bite den Usernamen eingeben"
$Username = Read-Host
if ($Username -notmatch "^[a-z0-9_.-]*$") {
Write-Host ""
Write-Host "ACHTUNG: Benutzer $Username enthaelt ungueltige Zeichen (nur a-z, A-Z, 0-9, ., - und _ erlaubt), bitte die Eingabe wiederholen" -ForegroundColor Red
Write-Host ""
$input="notok"
}else{
$input="ok"
}
}while($input -ne "ok")