Проверьте пользователя в AD, если пользователь не найден, спросите еще раз

Я пытаюсь найти конкретного пользователя в AD, используя samaccountname, если я ввожу неверную учетную запись, я хочу, чтобы вопрос повторялся до тех пор, пока он не найдет пользователя, не сообщит мне имя пользователя и не сделает паузу до нажатия клавиши. Вот то, что я имею до сих пор, и это не работает. Я все еще новичок в этом.

do{
$User=Read-Host "Enter SamAcountname"}

if (dsquery user -samid $User)
{
trap {$_ | write-host "Found user $_"
}
else 
{
trap {$_ | write-host "User not found!" 
}
{
until ( $_-eq "found user")
}

Write-Host "Press any key to continue ..."

$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

1 ответ

Решение

Это должно сделать это:

$prompt = "enter samaccountname"

do{    
    $User = Read-Host $prompt
} while (!$(dsquery user -samid $User;$prompt="User '$user' was not found, try again"))

$User
Другие вопросы по тегам