Используя Read-Host
, вы не можете сделать это, но вы можете рассмотреть возможность использования графического диалогового окна ввода вместо запроса в консоли. В конце концов, командлет Get-Credential
также отображает графический интерфейс.
Если это вариант для вас, это можно сделать, используя что-то вроде этого:
function Show-InputBox {
[CmdletBinding()]
Param (
[Parameter(Mandatory = $true, Position = 0)]
[string]$Message,
[string]$Title = [System.IO.Path]::GetFileNameWithoutExtension($MyInvocation.PSCommandPath),
[string]$defaultText = ''
)
Add-Type -AssemblyName 'Microsoft.VisualBasic'
return [Microsoft.VisualBasic.Interaction]::InputBox($Message, $Title, $defaultText)
}
while($true) {
$_Name = Show-InputBox "Enter account name you wish to disable"
if ([string]::IsNullOrWhiteSpace($_Name)) {
# the box was cancelled, so exit the loop
break
}
# proceed with the rest of the code
}
Если пользователь нажимает клавишу Esc , нажимает Отмена или оставляет ввод пустым, вы можете выйти из цикла while, в противном случае перейдите к коду.