À l’aide de la cmdlet PowerShell Read-Host, vous pouvez demander de manière interactive une entrée à l’utilisateur du script. Voyons quelques applications du monde réel sur la façon dont nous pouvons utiliser la cmdlet PowerShell Read-Host.
Demande d’entrée avec Read-Host
La cmdlet Read-Host effectue deux fonctions dans un script PowerShell : elle met en pause l’exécution et reçoit une entrée. C’est tout. Read-Host est une cmdlet simple mais utile lorsque vous avez besoin d’obtenir des informations de l’utilisateur du script.
Dans sa forme la plus basique, la cmdlet Read-Host nécessite simplement l’utilisation du paramètre Prompt. Ce paramètre Prompt vous permet de donner à l’utilisateur du script une indication sur ce qu’il doit entrer. Par exemple, si votre script nécessite un nom de serveur, vous pouvez utiliser Read-Host pour demander à l’utilisateur d’entrer ce nom lors de l’exécution du script.
Vous pouvez voir ci-dessous qu’en exécutant Read-Host dans la console PowerShell elle-même en utilisant le paramètre Prompt, PowerShell arrête toute exécution et affiche mon message d’invite donnant à l’utilisateur un message explicatif sur ce que nous recherchons.

Intégrons cela dans un script. Chaque fois qu’un utilisateur saisit des informations à l’invite, Read-Host renvoie ces informations à votre code. Vous pouvez facilement capturer ces informations en les assignant à une variable. Peut-être que je souhaite demander un nom de serveur, puis faire quelque chose avec ce nom de serveur. Sinon, je souhaite envoyer un avertissement à l’utilisateur pour lui faire savoir que j’ai vraiment besoin de ce nom de serveur.
Utilisant une structure conditionnelle simple, je peux alors m’assurer que mon utilisateur entre un nom de serveur. Une fois qu’ils le font, je peux le capturer et faire quelque chose avec, sinon, envoyer un message d’avertissement.

Demander des mots de passe
Vous devriez savoir qu’il n’est pas judicieux de stocker des mots de passe en texte clair dans vos scripts. De même, il n’est jamais une bonne idée d’avoir des mots de passe stockés en texte clair en mémoire non plus. Pour contourner cela, PowerShell a un concept appelé chaîne sécurisée, qui est une simple chaîne chiffrée.
A secure string can any kind of sensitive information; a password is a great example. What does this have to do with Read-Host
? The Read-Host
cmdlet has an AsSecureString
parameter which allows the user to not only store the output as a secure string but also to show asterisk while typing to hide your secret from prying eyes!
Supposons que j’aie un secret profond que je ne veux pas que personne ne connaisse, mais que je dois passer ce mot de passe à un logiciel quelconque. Vous pouvez voir ci-dessous que lorsque je n’utilise pas AsSecureString
, vous êtes sur moi ! Cependant, si j’utilise AsSecureString
, mon secret est en sécurité car chaque caractère que je tape est remplacé par un astérisque et la sortie est enregistrée en tant que chaîne sécurisée plutôt qu’une chaîne en texte clair.

Pour consulter la documentation de Read-Host
, consultez les Microsoft Docs.