Read-Host
Legge una riga di input dalla console.
Sintassi
AsString (Impostazione predefinita)
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
AsSecureString
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
Descrizione
Il cmdlet Read-Host legge una riga di input dalla console (stdin). È possibile usarlo per richiedere input a un utente. Poiché è possibile salvare l'input come stringa sicura, è possibile usare questo cmdlet per richiedere agli utenti dati sicuri, ad esempio le password.
Annotazioni
Read-Host ha un limite di 1022 caratteri che può accettare come input da un utente.
Esempio
Esempio 1: Salvare l'input della console in una variabile
In questo esempio viene visualizzata la stringa "Immettere l'età:" come richiesta. Quando viene immesso un valore e viene premuto INVIO, il valore viene archiviato nella variabile $Age.
$Age = Read-Host "Please enter your age"
Esempio 2: Salvare l'input della console come stringa sicura
In questo esempio viene visualizzata la stringa "Enter a Password:" come richiesta. Quando viene immesso un valore, gli asterischi (*) vengono visualizzati nella console al posto dell'input. Quando si preme invio, il valore viene archiviato come oggetto SecureString nella variabile $pwd_secure_string.
$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString
Esempio 3: Mascherare l'input e come stringa di testo non crittografato
In questo esempio viene visualizzata la stringa "Enter a Password:" come richiesta. Quando viene immesso un valore, gli asterischi (*) vengono visualizzati nella console al posto dell'input. Quando si preme invio, il valore viene archiviato come testo non crittografato oggetto String nella variabile $pwd_string.
$pwd_string = Read-Host "Enter a Password" -MaskInput
Parametri
-AsSecureString
Indica che il cmdlet visualizza gli asterischi (*) al posto dei caratteri digitati dall'utente come input. Quando si usa questo parametro, l'output del cmdlet Read-Host è un oggetto SecureString (System.Security.SecureString).
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
AsSecureString
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-MaskInput
Indica che il cmdlet visualizza gli asterischi (*) al posto dei caratteri digitati dall'utente come input. Quando si usa questo parametro, l'output del cmdlet Read-Host è un oggetto string.
In questo modo è possibile richiedere in modo sicuro una password restituita come testo non crittografato anziché SecureString.
Questo parametro è stato aggiunto in PowerShell 7.1.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
AsString
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Prompt
Specifica il testo del prompt. Digitare una stringa. Se la stringa include spazi, racchiuderla tra virgolette. PowerShell aggiunge due punti (:) al testo immesso.
Proprietà dei parametri
| Tipo: | Object |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Questo cmdlet non accetta l'input dalla pipeline di PowerShell.
Output
System.String or System.Security.SecureString
Se viene utilizzato il parametro AsSecureString , Read-Host restituisce un oggetto SecureString. In caso contrario, restituisce una stringa.
Note
Questo cmdlet legge solo dal flusso stdin del processo host. In genere, il flusso stdin è connesso alla tastiera della console host.