Comment exécuter un script PowerShell à partir d'un fichier batch
-
Utilisez le paramètre
-File
pour exécuter un script PowerShell depuis un fichier batch -
Utilisez
RemoteSigned
comme-ExecutionPolicy
pour exécuter un script PowerShell depuis un fichier batch -
Utilisez l’option
Bypass
pour exécuter un script PowerShell depuis un fichier batch - Exécutez un script PowerShell depuis un fichier batch en ouvrant PowerShell en tant qu’administrateur
- Conclusion

Un script PowerShell est un fichier texte utilisant l’extension .ps1
contenant une collection de commandes. PowerShell exécute ces commandes en séquence.
Un fichier batch est un fichier texte utilisant l’extension .bat
. Il contient également une collection de commandes qui sont exécutées en séquence.
Les commandes peuvent être exécutées en ouvrant le fichier .bat
. Ce tutoriel vous apprendra à exécuter un script PowerShell depuis un fichier batch.
Nous avons créé un script PowerShell, myscript.ps1
, contenant la commande suivante. La commande pause
arrête l’exécution d’un fichier batch jusqu’à ce que vous appuyiez sur la touche Entrée.
Write-Host "Your script is executed successfully."
Pause
Utilisez le paramètre -File
pour exécuter un script PowerShell depuis un fichier batch
Exécuter un script PowerShell depuis un fichier batch peut être une technique utile pour automatiser des tâches dans des environnements Windows. La méthode du paramètre -File
permet une intégration harmonieuse des scripts PowerShell dans les flux de travail des fichiers batch.
La commande suivante est utilisée dans le fichier bat
pour exécuter un script PowerShell.
@echo off
powershell -File script.ps1
Dans cet extrait de code, nous utilisons d’abord @echo off
pour supprimer l’affichage des commandes exécutées, garantissant que seule la sortie du script sera visible par l’utilisateur. Ensuite, nous utilisons la commande powershell
avec le paramètre -File
pour exécuter un script PowerShell nommé script.ps1
.
Cette commande lance une session PowerShell et spécifie le fichier de script à exécuter. En combinant ces commandes, nous pouvons exécuter sans problème un script PowerShell depuis un fichier batch, simplifiant le processus d’exécution des commandes PowerShell dans un environnement de fichier batch.
Sortie :
Utilisez RemoteSigned
comme -ExecutionPolicy
pour exécuter un script PowerShell depuis un fichier batch
PowerShell a différentes politiques d’exécution qui déterminent quels scripts peuvent être exécutés et d’où. Une façon de contourner ces restrictions est de spécifier le paramètre -ExecutionPolicy
avec la valeur RemoteSigned
.
Cette politique d’exécution permet aux scripts créés localement de s’exécuter sans nécessiter de signature numérique, tandis que les scripts téléchargés depuis Internet doivent être signés par un éditeur de confiance.
@echo off
powershell -ExecutionPolicy RemoteSigned -File script.ps1
Dans l’extrait de code fourni, powershell -ExecutionPolicy RemoteSigned -File script.ps1
est utilisé pour exécuter le script PowerShell nommé script.ps1
situé dans le répertoire de travail actuel. En spécifiant le paramètre -ExecutionPolicy
comme RemoteSigned
, nous garantissons que les scripts créés localement peuvent être exécutés sans signature numérique, tandis que les scripts téléchargés depuis Internet doivent être signés par un éditeur de confiance.
Sortie :
Utilisez l’option Bypass
pour exécuter un script PowerShell depuis un fichier batch
Pour contourner les restrictions et permettre au script de s’exécuter sans aucune limitation imposée par la politique d’exécution, nous pouvons utiliser le paramètre -ExecutionPolicy
avec la valeur Bypass
. Cette méthode fournit un moyen simple d’exécuter des scripts PowerShell depuis un fichier batch tout en contournant les restrictions de la politique d’exécution.
@echo off
powershell -ExecutionPolicy Bypass -File C:\path\script.ps1
Dans l’extrait de code fourni, powershell -ExecutionPolicy Bypass -File C:\path\script.ps1
est utilisé pour exécuter le script PowerShell nommé script.ps1
situé dans le répertoire C:\path\scripts
. En définissant la politique d’exécution sur Bypass
, nous instruisons PowerShell d’ignorer toutes les restrictions de politique d’exécution, permettant ainsi au script de s’exécuter sans aucune entrave.
Sortie :
Vous pouvez également exécuter la commande suivante.
@echo off
powershell -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\path\script.ps1'"
Dans cette commande fournie, nous utilisons -ExecutionPolicy Bypass
pour instruire PowerShell d’ignorer toutes les restrictions de politique d’exécution, permettant ainsi au script de s’exécuter sans limitations. De plus, le paramètre -NoProfile
garantit que le profil PowerShell de l’utilisateur n’est pas chargé, ce qui contribue à maintenir un environnement d’exécution propre pour le script.
Sortie :
Exécutez un script PowerShell depuis un fichier batch en ouvrant PowerShell en tant qu’administrateur
Exécuter un script PowerShell depuis un fichier batch avec des privilèges élevés en ouvrant PowerShell en tant qu’administrateur est une méthode cruciale pour exécuter des scripts nécessitant un accès administratif. Cette approche garantit que la session PowerShell dispose des autorisations nécessaires pour effectuer des tâches administratives, telles que la modification des paramètres système ou l’accès à des ressources restreintes.
@echo off
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Start-Process powershell.exe -Verb RunAs -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File C:\path\script.ps1'"
Dans cet extrait de code, nous utilisons powershell.exe
pour démarrer une session PowerShell avec des privilèges élevés. Le paramètre -Verb RunAs
dans le cmdlet Start-Process
garantit que PowerShell est ouvert avec des privilèges administratifs.
En passant les arguments nécessaires (-NoProfile -ExecutionPolicy Bypass -File C:\path\script.ps1
) à la nouvelle session PowerShell, nous permettons l’exécution du script spécifié (script.ps1
) avec des privilèges élevés.
Sortie :
Conclusion
Dans cet article, nous avons exploré diverses méthodes pour exécuter un script PowerShell depuis un fichier batch. Nous avons appris à utiliser le paramètre -File
pour exécuter un script directement, ainsi que comment contourner les restrictions de politique d’exécution utilisant les paramètres RemoteSigned
et Bypass
.
De plus, nous avons discuté de la façon d’ouvrir PowerShell en tant qu’administrateur pour exécuter des scripts avec des privilèges élevés. Chaque méthode offre une approche unique pour exécuter des scripts PowerShell depuis des fichiers batch, offrant flexibilité et contrôle sur l’environnement d’exécution.