<p><a href="http://technet.microsoft.com/en-us/library/hh849945.aspx"><code>Read-Host</code></a> est une option simple pour obtenir une saisie de chaîne de la part d’un utilisateur.</p>
<pre><code class="lang-auto">$name = Read-Host 'What is your username?'
</code></pre>
<p>Pour masquer les mots de passe, vous pouvez utiliser :</p>
<pre><code class="lang-auto">$pass = Read-Host 'What is your password?' -AsSecureString
</code></pre>
<p>Pour convertir le mot de passe en texte brut :</p>
<pre><code class="lang-auto">[Runtime.InteropServices.Marshal]:😛trToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass))
</code></pre>
<p>Quant au type retourné par <code>$host.UI.Prompt()</code>, si vous exécutez le code au lien posté dans le commentaire de <span class="mention">@Christian</span>, vous pouvez découvrir le type de retour en le redirigeant vers <a href="http://technet.microsoft.com/en-us/library/hh849928.aspx"><code>Get-Member</code></a> (par exemple, <code>$results | gm</code>). Le résultat est un Dictionary dont la clé est le nom d’un objet <code>FieldDescription</code> utilisé dans l’invite. Pour accéder au résultat de la première invite dans l’exemple lié, vous taperiez : <code>$results['String Field']</code>.</p>
<p>Pour accéder aux informations sans invoquer une méthode, omettez les parenthèses :</p>
<pre><code class="lang-auto">PS> $Host.UI.Prompt
MemberType : Method
OverloadDefinitions : {System.Collections.Generic.Dictionary[string,psobject] Pr
ompt(string caption, string message, System.Collections.Ob
jectModel.Collection[System.Management.Automation.Host.Fie
ldDescription] descriptions)}
TypeNameOfValue : System.Management.Automation.PSMethod
Value : System.Collections.Generic.Dictionary[string,psobject] Pro
mpt(string caption, string message, System.Collections.Obj
ectModel.Collection[System.Management.Automation.Host.Fiel
dDescription] descriptions)
Name : Prompt
IsInstance : True
</code></pre>
<p><code>$Host.UI.Prompt.OverloadDefinitions</code> vous donnera la ou les définitions de la méthode. Chaque définition s’affiche sous la forme <code><Type de retour> <Nom de la méthode>(<Paramètres>)</code>.</p>