Question Comment exécuter un script PowerShell?


Comment exécuter un script PowerShell?

  • J'ai un script nommé myscript.ps1
  • J'ai tous les cadres nécessaires installés
  • J'ai mis ça politique d'exécution chose
  • J'ai suivi les instructions sur cette page d'aide MSDN et j'essaie de l'exécuter comme ça: 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. Pas d'erreur, pas de message, rien. Oh, quand j'ajoute -noexit, la même chose arrive, mais je reste dans PowerShell et dois sortir 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 ne suis même pas encore arrivé.

Qu'est-ce que je fais mal?


526
2018-01-09 22:19


origine


Réponses:


  1. Lancez Windows PowerShell et attendez quelques instants que l'invite de commandes PS s'affiche
  2. Accédez au répertoire où réside le script

    PS> cd C:\my_path\yada_yada\ (enter)
    
  3. Exécutez le script:

    PS> .\run_import_script.ps1 (enter)
    

Qu'est-ce que je rate??

Ou: vous pouvez exécuter le script PowerShell à partir de cmd.exe comme ça:

powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)

selon ce 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 #


545
2018-01-09 22:24



Si vous utilisez PowerShell 2.0, utilisez le paramètre -File de PowerShell.exe pour appeler un script d'un autre environnement tel que cmd.exe, par exemple:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1

171
2018-01-09 23:39



Si vous souhaitez exécuter un script sans modifier la stratégie d'exécution de script par défaut, vous pouvez utiliser le contourne basculer lors du lancement Windows PowerShell.

powershell [-noexit] -executionpolicy bypass -File <Filename>

142
2018-01-30 22:23



Type:

powershell -executionpolicy bypass -File .\Test.ps1

NOTE: Ici Test.ps1 est le script PowerShell.


47
2018-02-05 22:38



J'ai eu le même problème, et j'ai essayé et essayé ... Enfin j'ai utilisé:

powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"

Et mettre cette ligne dans un fichier batch, et cela fonctionne.


24
2018-03-08 13:47



Si vous avez seulement PowerShell 1.0, cela semble faire assez bien l'affaire:

powershell -command - < c:\mypath\myscript.ps1

Il dirige le fichier de script vers la ligne de commande PowerShell.


19
2017-07-01 09:32



Un moyen facile est d'utiliser PowerShell ISE, ouvrez un script, lancez et invoquez votre script, votre fonction ...

Enter image description here


8
2017-11-01 16:39



En utilisant le fichier cmd (BAT):

@echo off
color 1F
echo.

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1"

:EOF
echo Waiting seconds
timeout /t 10 /nobreak > NUL

Si tu as besoin Exécuter en tant qu'administrateur:

  1. Faire un raccourci pointé vers l'invite de commande (je l'ai nommé Invite de commande administrative)
  2. Ouvrez les propriétés du raccourci et accédez à l'onglet Compatibilité
  3. Sous la section Niveau de privilège, assurez-vous que la case à cocher "Exécuter ce programme en tant qu'administrateur" est cochée

6
2017-11-17 09:04



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.


6
2017-08-23 14:51



  • Donnez le chemin du script, c'est-à-dire le chemin défini 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


5
2018-06-16 09:28