Read-Host
Lê uma linha de entrada do console.
Sintaxe
AsString (Default)
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
AsSecureString
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
Description
O cmdlet Read-Host lê uma linha de entrada do console (stdin). Você pode usá-lo para solicitar entrada a um 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 a entrada do 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 variável $Age.
$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 variável $pwd_secure_string.
$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 de cadeia de caracteres sem formatação na variável $pwd_string.
$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 cmdlet Read-Host é um objeto SecureString (System.Security.SecureString).
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
AsSecureString
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | 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 cmdlet Read-Host é 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.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
AsString
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Prompt
Especifica o texto do prompt. 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.
Propriedades do parâmetro
| Tipo: | Object |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
None
Esse cmdlet não aceita 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 lê somente do fluxo stdin do processo de host. Normalmente, o fluxo stdin é conectado ao teclado do console host.