Comment exécuter automatiquement des scripts PowerShell sur Windows 10

PowerShell dispose de nombreuses couches de sécurité différentes qui empêchent l’exécution de commandes et de scripts malveillants. Par exemple, par défaut, vous ne pouvez pas exécuter un script que vous avez téléchargé sur Internet, sauf si vous modifiez la stratégie d’exécution de PowerShell. Une autre mesure de sécurité vous empêche d’exécuter un script en double-cliquant dessus. Vous ne pouvez pas associer de scripts PS1 à PowerShell et la seule façon d’exécuter un script consiste à cliquer dessus avec le bouton droit et à sélectionner l’option d’exécution. Double-cliquez dessus pour l’ouvrir dans le Bloc-notes. C’est idéal pour une mesure de sécurité, mais ennuyeux si vous souhaitez qu’un script PowerShell s’exécute lorsqu’une tâche planifiée est exécutée. Le travail autour est simple. Vous pouvez utiliser un script de commandes pour exécuter automatiquement des scripts PowerShell.

  Que signifie «TET» et comment l'utilisez-vous?

Script de lot

Voici le script de traitement par lots dont vous avez besoin pour exécuter automatiquement des scripts PowerShell sous Windows 10. Chaque script PowerShell aura besoin de son propre script de traitement par lots.

Syntaxe

@ECHO OFF
PowerShell.exe -Command "Path to script"
PAUSE

Remplacez «Chemin du script» par le chemin réel du script PowerShell que vous souhaitez exécuter. Prenons l’exemple suivant;

Exemple

@ECHO OFF
PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1"
PAUSE

Ouvrez le Bloc-notes et collez-y le script. Enregistrez le fichier avec l’extension .bat.

Ce que fait ce fichier de commandes, c’est qu’il ouvre PowerShell, puis exécute le script vers lequel vous l’avez signalé. Vous ne pouvez toujours pas double-cliquer sur un script PowerShell sur votre bureau et l’exécuter automatiquement dans PowerShell. Le fichier actuel ouvrira une fenêtre d’invite de commandes et affichera un message «Appuyez sur n’importe quelle touche pour continuer». Lorsque vous appuyez sur une touche, alors seulement le script PowerShell s’exécute. Si vous préférez que le script s’exécute sans que vous ayez à intervenir, modifiez le script ci-dessus et supprimez la ligne ‘PAUSE’. Ça devrait ressembler à ça;

@ECHO OFF
PowerShell.exe -Command "Path to script"

Planificateur de tâches et scripts PowerShell

Nous supposons que vous souhaitez exécuter automatiquement un script PowerShell en tant qu’action sur une tâche planifiée. Pour ce faire, vous devez d’abord créer un script Batch correspondant, comme indiqué ci-dessus, pour exécuter le script PowerShell. Ensuite, lorsque vous créez une tâche planifiée, sélectionnez le script Batch sous Action à entreprendre en réponse à un déclencheur. Cela exécutera en fait le script PowerShell.

  Comment créer des mash-ups Emoji à l'aide de Gboard

Nous avons utilisé le Planificateur de tâches comme exemple ici, mais si vous utilisez une autre application d’automatisation, vous devrez toujours appeler le script Batch. La seule exception est si l’application d’automatisation que vous utilisez peut ouvrir PowerShell, puis la pointer vers le script PowerShell.