PowerShell is complete scripting and programming language which provides the user input command
Read-Host . The Read-Host can get the user input in different ways like a prompt, secure password, or mask input. In this tutorial, we examine how to use different attributes of the Read-Host command.
User Input with Read-Host Command
Read-Host command can read interactive user input via the PowerShell command line interface and assign the input value into a variable. In the following example, we read user input and assign the variable named
$name = Read-Host Write-Host $name
User Input with Prompt
In different scenarios, we may get multiple inputs from users. Or we may need to explain every input to the user before getting it. The
-Prompt option can be used to provide an explanation to the user for the input.
$name = Read-Host -Prompt "Please enter your name:" Write-Host $name
Secure Password Input
PowerShell provides the
System.Security.SecureString type in order to store sensitive information like passwords etc. in a secure way. A user may input a password by using the Read-Host in a secure way. By using the
-AsSecureString provided input is stored as SecureString type. The input is displayed in a masked format.
$password = Read-Host -AsSecureString "Please enter password" Write-Host $password
By default, user input is directly displayed on the PowerShell interactive interface or command line interface. Masking is a good method to hide input. The
-MaskInput option is used to mask user input. Every character is displayed as
$username= Read-Host -MaskIInput "Please enter username" Write-Host $username