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.