Condividi tramite


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.