{{tag>dev powershell}}
====== PowerShell : Lecture des entrées utilisateur =====
La cmdlet **Read-Host** récupère la saisie utilisateur et alimente la variable :
$user_answer = Read-Host "Saisir le nombre max"
On peut passer un message à Read-Host, il sera afficher lors de l'exécution. La commande termine systématiquement le message par ':', si on souhaite éviter ce comportement par défaut on affiche d'abord le message souhaité puis on invoque Read-Host sans message :
# Le message présenté ainsi est incorrect
$user = Read-Host "Quel est votre nom ?"
Quel est votre nom ?:
# Pour un message interrogatif de ce type
Write-Host "Quel est votre nom ?" -NoNewline
$user = Read-Host
La valeur lue par **Read-Host** ne peut excéder 1022 caractères.
Pour la saisie de données confidentielles l'option ''-MaskInput'' permet de ne pas faire écho de la saisie (des astérisques sont affichés). Le paramètre -AsSecureString génère un objet spécifique : ''SecureString'' qui ne conserve pas de texte en clair en mémoire. Ce type d'objet est nécessaire pour certains usages comme le renouvellement de mot de passe.