16/12/2024

Attendre d’appuyer sur « Entrée » dans un script PowerShell

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 soi-même avant qu'il poursuive vers la 6ème étape ?

Nous pourrions utiliser le cmdlet Start-Sleep pour définir une pause fixe de X secondes ou minutes, mais il faut être sûr de son coup au niveau du timing... 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" manuellement, quand nous sommes prêts pour la suite de l'exécution.

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

En PowerShell, il y a un cmdlet qui sert à récupérer une saisie utilisateur dans la console, il s'agit de "Read-Host" comme nous l'avons vu dans le précédent chapitre. Lorsque nous effectuons une saisie, pour la valider, il faut appuyer sur la touche "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 peut être utilisée dans n'importe lequel de vos scripts.


livre pour apprendre PowerShell
author avatar
Florian BURNEL Co-founder of IT-Connect
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.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

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.