En attente d'une entrée utilisateur avec un délai d'attente

J'ai cherché mais apparemment, mon google foo est faible. Ce que j'ai besoin d'une manière de l'invite de saisie de l'utilisateur dans la console et avoir le temps de la demande après une période de temps et de continuer l'exécution du script, si aucune entrée n'est disponible en. Aussi loin que je peux dire, Read-Host ne fournit pas cette fonctionnalité. N' $host.L'INTERFACE utilisateur.PromptForChoice (), ni les $host.L'INTERFACE utilisateur.RawUI.ReadKey(). Merci d'avance pour tous les pointeurs.

EDIT: merci à Lars Truijens pour trouver la réponse. J'ai pris le code qu'il l'a souligné et encapsulé dans une fonction. Notez que le chemin que j'ai mis en œuvre les moyens il pourrait y avoir jusqu'à une seconde de retard entre le moment où l'utilisateur appuie sur une touche et lors de l'exécution du script se poursuit.

function Pause-Host
{
    param(
            $Delay = 1
         )
    $counter = 0;
    While(!$host.UI.RawUI.KeyAvailable -and ($counter++ -lt $Delay))
    {
        [Threading.Thread]::Sleep(1000)
    }
}

source d'informationauteur EBGreen