Я не понимаю, что вы пытаетесь сделать по умолчанию в своем коде, но в соответствии с вашим вопросом, вы хотите поместить это в цикл:
do{
$Prompt = Read-host "Should I display the file contents c:\test for you? (Y | N)"
Switch ($Prompt)
{
Y {Get-ChildItem c:\test}
N {Write-Host "User canceled the request"}
Default {continue}
}
} while($prompt -notmatch "[YN]")
Способ сделать это Powershell:
$caption="Should I display the file contents c:\test for you?"
$message="Choices:"
$choices = @("&Yes","&No")
$choicedesc = New-Object System.Collections.ObjectModel.Collection[System.Management.Automation.Host.ChoiceDescription]
$choices | foreach { $choicedesc.Add((New-Object "System.Management.Automation.Host.ChoiceDescription" -ArgumentList $_))}
$prompt = $Host.ui.PromptForChoice($caption, $message, $choicedesc, 0)
Switch ($prompt)
{
0 {Get-ChildItem c:\test}
1 {Write-Host "User canceled the request"}
}