Usando o cmdlet PowerShell Read-Host, você pode interativamente solicitar a entrada do usuário do script. Vamos ver algumas aplicações do mundo real sobre como podemos usar o cmdlet PowerShell Read-Host
.
Solicitando Entrada com Read-Host
O cmdlet Read-Host
executa duas funções em um script PowerShell; ele pausa a execução e recebe entrada. É isso. Read-Host
é um cmdlet simples, mas útil quando é necessário obter informações do usuário do script.
Em sua forma mais básica, o cmdlet Read-Host
simplesmente requer o uso do parâmetro Prompt
. Este parâmetro Prompt
permite que você forneça ao usuário do script alguma indicação sobre o que inserir. Por exemplo, se o script exigir um nome de servidor, você pode optar por usar Read-Host
para solicitar ao usuário que insira isso quando o script for executado.
É possível observar abaixo que, ao executar Read-Host
dentro do console PowerShell usando o parâmetro Prompt
, o PowerShell interrompe toda a execução e exibe minha mensagem de prompt, fornecendo ao usuário uma explicação sobre o que estamos procurando.

Vamos incorporar isso em um script. Sempre que um usuário insere informações no prompt, Read-Host
retorna essas informações de volta para o seu código. Você pode facilmente capturar essas informações atribuindo a saída a uma variável. Talvez eu queira pedir um nome de servidor e depois fazer algo com esse nome de servidor. Caso contrário, eu gostaria de enviar um aviso ao usuário informando que realmente preciso daquele nome de servidor.
Usando uma estrutura simples de if/then, posso garantir que o usuário insira um nome de servidor. Uma vez feito isso, posso capturá-lo e fazer algo com ele, caso contrário, enviar uma mensagem de aviso.

Pedindo Senhas
Você deve saber que não é uma boa ideia armazenar senhas em texto simples em seus scripts. Da mesma forma, também não é uma boa ideia ter senhas armazenadas em texto simples na memória. Para contornar isso, o PowerShell possui um conceito chamado “secure string”, que é uma string simples criptografada.
A secure string can any kind of sensitive information; a password is a great example. What does this have to do with Read-Host
? The Read-Host
cmdlet has an AsSecureString
parameter which allows the user to not only store the output as a secure string but also to show asterisk while typing to hide your secret from prying eyes!
Vamos supor que eu tenha um segredo profundo e obscuro que não quero que ninguém saiba, mas preciso passar essa senha para algum tipo de software. Você pode ver abaixo que, quando não uso AsSecureString
, você descobre meu segredo! No entanto, se eu usar AsSecureString
, meu segredo está seguro, pois cada caractere que digito é substituído por um asterisco e a saída é salva como uma “secure string” em vez de uma string de texto simples.

Para consultar a documentação do Read-Host
, confira a Microsoft Docs.