Read-Host

Lit une ligne d’entrée à partir de la console.

Syntaxe

AsString (Par défaut)

Read-Host
    [[-Prompt] <Object>]
    [-MaskInput]
    [<CommonParameters>]

AsSecureString

Read-Host
    [[-Prompt] <Object>]
    [-AsSecureString]
    [<CommonParameters>]

Description

L’applet de commande Read-Host lit une ligne d’entrée à partir de la console (stdin). Vous pouvez l’utiliser pour inviter un utilisateur à entrer une entrée. Étant donné que vous pouvez enregistrer l’entrée sous forme de chaîne sécurisée, vous pouvez utiliser cette applet de commande pour inviter les utilisateurs à entrer des données sécurisées, telles que des mots de passe.

Remarque

Read-Host a une limite de 1022 caractères qu’il peut accepter comme entrée d’un utilisateur.

Exemples

Exemple 1 : Enregistrer l’entrée de la console dans une variable

Cet exemple affiche la chaîne « Please enter your age: » comme invite. Lorsqu’une valeur est entrée et que la touche Entrée est enfoncée, la valeur est stockée dans la variable $Age.

$Age = Read-Host "Please enter your age"

Exemple 2 : Enregistrer l’entrée de console sous forme de chaîne sécurisée

Cet exemple montre comment afficher la chaîne « Entrer un mot de passe : » comme invite. Comme une valeur est entrée, les astérisques (*) apparaissent sur la console à la place de l’entrée. Lorsque la touche Entrée est enfoncée, la valeur est stockée en tant qu’objet SecureString dans la variable $pwd_secure_string.

$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString

Exemple 3 : Masquer l’entrée et l’afficher sous forme de chaîne en texte brut

Cet exemple montre comment afficher la chaîne « Entrer un mot de passe : » comme invite. Comme une valeur est entrée, les astérisques (*) apparaissent sur la console à la place de l’entrée. Lorsque la touche Entrée est enfoncée, la valeur est stockée en texte brut objet String dans la variable $pwd_string.

$pwd_string = Read-Host "Enter a Password" -MaskInput

Paramètres

-AsSecureString

Indique que l’applet de commande affiche des astérisques (*) à la place des caractères que l’utilisateur tape comme entrée. Lorsque vous utilisez ce paramètre, la sortie de l’applet de commande Read-Host est un objet SecureString (System.Security.SecureString).

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

AsSecureString
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaskInput

Indique que l’applet de commande affiche des astérisques (*) à la place des caractères que l’utilisateur tape comme entrée. Lorsque vous utilisez ce paramètre, la sortie de l’applet de commande Read-Host est un objet String. Cela vous permet de demander en toute sécurité un mot de passe qui est renvoyé en texte clair au lieu de SecureString.

Ce paramètre a été ajouté dans PowerShell 7.1.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

AsString
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Prompt

Spécifie le texte de l’invite. Tapez une chaîne. Si la chaîne inclut des espaces, placez-la entre guillemets. PowerShell ajoute un signe deux-points (:) au texte que vous entrez.

Propriétés du paramètre

Type:Object
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:0
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

Cette applet de commande n’accepte pas les entrées du pipeline PowerShell.

Sorties

System.String or System.Security.SecureString

Si le paramètre AsSecureString est utilisé, Read-Host renvoie une SecureString. Sinon, elle retourne une chaîne.

Notes

Cette applet de commande lit uniquement à partir du flux stdin du processus hôte. En règle générale, le flux stdin est connecté au clavier de la console hôte.