PowerShell : comment attendre d’appuyer sur « Entrée » dans un script ?

I. Présentation

Bien que PowerShell soit bien pratique pour automatiser un maximum d'actions et faciliter l'administration des systèmes, il y a parfois des actions qui nécessitent d'être réalisée manuellement. Imaginons que l'on ait 10 actions à réaliser, et que la 5ème action ne soit pas réalisable par script, comment faire patienter notre script pendant que l'on réalise l'opération soit-même avant qu'il poursuive vers la 6ème étape ?

On pourrait utiliser Start-Sleep pour définir une pause fixe de X secondes ou minutes, mais il faut être sûr de son coup... Ou tout simplement, on peut demander au script PowerShell d'attendre que la touche ENTER du clavier soit pressée dans la console d'exécution du script : ce qui nous permet de donner le go pour la suite de l'exécution.

Voyons cette astuce ensemble...

II. Attendre d'appuyer sur "Entrée"

En PowerShell, il y a une commande qui sert à récupérer une saisie utilisateur dans la console, il s'agit de "Read-Host". Lorsque l'on effectue une saisie, pour la valider il faut appuyer sur... "Entrée" ! Vous voyez où je veux en venir ?

En fait, c'est assez simple, à l'endroit où vous souhaitez faire une pause et attendre que la touche Entrée soit appuyée, il suffit d'inclure une ligne comme celle-ci :

Read-Host "Appuyez sur ENTREE pour continuer..."

Lors de l'exécution du script, le message suivant va s'afficher dans la console :

Appuyez sur ENTREE pour continuer...

Il suffira d'appuyer sur la touche magique lorsque vous êtes prêt et le script va poursuivre son exécution... Voilà comme faire une pause avec reprise manuelle ?. Cette méthode fonctionne aussi bien dans une console PowerShell que dans PowerShell ISE.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian has 4683 posts and counting.See all posts by florian

One thought on “PowerShell : comment attendre d’appuyer sur « Entrée » dans un script ?

  • Ou simplement l’alias batch : pause

    qui pour le coup n’accepte que la touche « Entrée » 😉

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.