Read-Host
Lê uma linha de entrada do console.
Syntax
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
Description
O Read-Host
cmdlet lê uma linha de entrada do console (stdin). Você pode usá-lo para solicitar uma entrada do usuário. Como você pode salvar a entrada como uma cadeia de caracteres segura, você pode usar esse cmdlet para solicitar aos usuários dados seguros, como senhas.
Observação
Read-Host
tem um limite de 1022 caracteres que pode aceitar como entrada de um usuário.
Exemplos
Exemplo 1: Salvar entrada de console em uma variável
Este exemplo exibe a cadeia de caracteres "Insira sua idade:" como um prompt. Quando um valor é inserido e a tecla Enter é pressionada, o valor é armazenado na $Age
variável.
$Age = Read-Host "Please enter your age"
Exemplo 2: Salvar a entrada do console como uma cadeia de caracteres segura
Este exemplo exibe a cadeia de caracteres "Inserir uma Senha:" como um prompt. Como um valor está sendo inserido, os asteriscos (*
) aparecem no console no lugar da entrada. Quando a tecla Enter é pressionada, o valor é armazenado como um objeto SecureString na $pwd_secure_string
variável.
$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString
Exemplo 3: Mascarar entrada e como uma cadeia de caracteres de texto sem formatação
Este exemplo exibe a cadeia de caracteres "Inserir uma Senha:" como um prompt. Como um valor está sendo inserido, os asteriscos (*
) aparecem no console no lugar da entrada. Quando a tecla Enter é pressionada, o valor é armazenado como um objeto String de texto sem formatação na $pwd_string
variável.
$pwd_string = Read-Host "Enter a Password" -MaskInput
Parâmetros
-AsSecureString
Indica que o cmdlet exibe asteriscos (*
) no lugar dos caracteres que o usuário digita como entrada. Quando você usa esse parâmetro, a saída do Read-Host
cmdlet é um objeto SecureString (System.Security.SecureString).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaskInput
Indica que o cmdlet exibe asteriscos (*
) no lugar dos caracteres que o usuário digita como entrada. Quando você usa esse parâmetro, a saída do Read-Host
cmdlet é um objeto String .
Isso permite que você solicite com segurança uma senha retornada como texto sem formatação em vez de SecureString.
Esse parâmetro foi adicionado ao PowerShell 7.1.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Prompt
Especifica o texto do aviso. Digite uma cadeia de caracteres. Se a cadeia de caracteres incluir espaços, coloque-a entre aspas. O PowerShell acrescenta dois-pontos (:
) ao texto inserido.
Type: | Object |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Esse cmdlet não aceita a entrada do pipeline do PowerShell.
Saídas
System.String or System.Security.SecureString
Se o parâmetro AsSecureString for usado, Read-Host
retornará um SecureString. Caso contrário, ele retornará uma cadeia de caracteres.
Observações
Esse cmdlet só lê do fluxo stdin do processo de host. Normalmente, o fluxo stdin é conectado ao teclado do console do host.