Comment exécuter un script PowerShell?
- J'ai un script nommé myscript.ps1
- J'ai tous les frameworks nécessaires installés
- Je mets que la politique d'exécution chose
- J'ai suivi les instructions sur cette page d'aide MSDN
et j'essaie de l'exécuter comme suit :
powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'
(avec ou sans--noexit
)
qui ne renvoie exactement rien, sauf que le nom du fichier est sorti.
Aucune erreur, aucun message, rien. Oh, quand j'ajoute -noexit
, la même chose se produit, mais je reste dans PowerShell et je dois quitter manuellement.
Le fichier .ps1 est censé exécuter un programme et renvoyer le niveau d'erreur en fonction de la sortie de ce programme. Mais je suis sûr que je n'y arrive même pas encore.
Qu'est-ce que je fais mal?
windows
powershell
scripting
Pekka
la source
la source
powershell
comme vous auriez commencécmd
. Maintenant, vous pouvez exécuter lemyscript.ps1
script comme n'importe quel exécutable dans (dans la fenêtre.\myscript.ps1
Réponses:
PS
invite de commande apparaisseAccédez au répertoire où réside le script
Exécutez le script:
Qu'est-ce que je rate??
Ou: vous pouvez exécuter le script PowerShell
cmd.exe
comme ceci:selon cet article de blog ici
Ou vous pouvez même exécuter votre script PowerShell à partir de votre application C # :-)
Exécuter de manière asynchrone des scripts PowerShell à partir de votre application C #
la source
powershell -noexit "& "C:\yada_yada\run_import_script.ps1"
(remarquez les trois guillemets doubles) Je ne comprends pas vraiment pourquoi, mais à ce stade, je m'en fiche vraiment :) Merci beaucoup!"&
?powershell -executionpolicy bypass ".\myscript.ps1 yadayadayada"
Si vous utilisez PowerShell 2.0, utilisez le
-File
paramètre PowerShell.exe pour appeler un script à partir d'un autre environnement, comme cmd.exe. Par exemple:la source
-ExecutionPolicy Bypass
Si vous souhaitez exécuter un script sans modifier la stratégie d'exécution de script par défaut, vous pouvez utiliser le commutateur de contournement lors du lancement de Windows PowerShell .
la source
-nologo
Type:
powershell -executionpolicy bypass -File .\Test.ps1
REMARQUE: voici
Test.ps1
le script PowerShell.la source
powershell -executionpolicy bypass -File .\Test.ps1
supposant que votre répertoire de travail actuel contient Test.ps1J'ai eu le même problème, et j'ai essayé et essayé ... Enfin j'ai utilisé:
Et mettez cette ligne dans un fichier batch, et cela fonctionne.
la source
Si vous n'avez que PowerShell 1.0 , cela semble assez bien faire l'affaire:
Il dirige le fichier de script vers la ligne de commande PowerShell.
la source
Plutôt facile. Cliquez avec le bouton droit sur le fichier .ps1 dans Windows et dans le menu du shell, cliquez sur Exécuter avec PowerShell .
la source
Utilisation du fichier cmd (BAT):
Si vous devez exécuter en tant qu'administrateur :
la source
Un moyen simple est d'utiliser PowerShell ISE , d'ouvrir un script, d'exécuter et d'appeler votre script, votre fonction ...
la source
Si votre script est nommé avec l'
.ps1
extension et que vous êtes dans une fenêtre PowerShell, vous exécutez simplement./myscript.ps1
(en supposant que le fichier se trouve dans votre répertoire de travail).De toute façon, cela est vrai pour moi sur Windows 10 avec PowerShell version 5.1, et je ne pense pas avoir fait quoi que ce soit pour le rendre possible.
la source
myscript.ps1
n'a pas fonctionné, a jeté une erreur, mais avec./
son exécution.Donnez le chemin du script, c'est-à-dire la définition du chemin par cmd:
$> . c:\program file\prog.ps1
Exécutez la fonction de point d'entrée de PowerShell:
Par exemple,
$> add or entry_func or main
la source
>$ . c:\program file\prog.ps1 '.' is not recognized as an internal or external command, operable program or batch file.
et>$ add or entry_func or main 'add' is not recognized as an internal or external command, operable program or batch file.
Si vous souhaitez exécuter un script PowerShell avec le Planificateur de tâches Windows, veuillez suivre les étapes ci-dessous:
Créer une tâche
Réglez
Program/Script
surPowershell.exe
Réglez
Arguments
sur-File "C:\xxx.ps1"
Il s'agit d'une autre réponse, comment puis-je exécuter un script PowerShell automatiquement à l'aide du planificateur de tâches Windows? .
la source
Utilisez le
-File
paramètre devant le nom de fichier. Les guillemets font penser à PowerShell qu'il s'agit d'une chaîne de commandes.la source
J'ai une réponse très simple qui fonctionne:
set-executionpolicy unrestricted
J'ai trouvé cette solution en suivant le lien fourni dans le cadre du message d'erreur: À propos des stratégies d'exécution
la source