Comment exécuter un script PowerShell?

comment exécuter un script PowerShell?

  • j'ai un script nommé myscript.ps1 151970920"
  • j'ai toutes les structures nécessaires installé
  • j'ai mis que politique d'exécution chose
  • j'ai suivi les instructions sur cette page D'aide du MSDN et suis en train de l'exécuter comme: powershell.exe 'C:my_pathyada_yadarun_import_script.ps1' (avec ou sans --noexit )

qui ne renvoie exactement rien, sauf que le nom du fichier est sortie. Aucune erreur, aucun message, rien. Oh, quand j'ajoute -noexit , la même chose se produit, mais je reste dans PowerShell et je dois sortir manuellement.

le fichier ps1 est censé exécuter un programme, et retourner le niveau d'erreur dépendant de la sortie de ce programme. Mais je suis assez sûr que je ne suis même pas y arriver encore.

Qu'est-ce que je fais de mal?

542
demandé sur RBT 2010-01-10 01:19:10

13 réponses

  1. Windows PowerShell de lancement, et attendre un moment pour l'invite de commande PS pour apparaître
  2. naviguez vers le répertoire où vit le script

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

    PS> .\run_import_script.ps1 (enter)
    

Qu'est-ce que je rate??

ou: vous pouvez exécuter le script PowerShell de cmd.exe comme ceci:

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

selon ce billet de blog ici

ou vous pouvez même exécuter votre script Powershell à partir de votre application C#: -)

exécuter asynchrone des scripts PowerShell à partir de votre application C#

561
répondu marc_s 2017-05-17 06:34:45

si vous êtes sous PowerShell 2.0, utilisez PowerShell.le paramètre exe-File pour invoquer un script d'un autre environnement comme cmd.exe par exemple:

Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
175
répondu Keith Hill 2014-06-23 21:48:18

si vous voulez exécuter un script sans modifier la Politique d'exécution par défaut, vous pouvez utiliser le bypass switch lors du lancement Windows PowerShell .

powershell [-noexit] -executionpolicy bypass -File <Filename>
146
répondu Chingiz Musayev 2011-01-30 22:23:06

Type:

powershell -executionpolicy bypass -File .\Test.ps1

NOTE: ici Test.ps1 est le script PowerShell.

50
répondu Sudheesh 2016-03-26 19:21:27

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

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

et mettez cette ligne dans un fichier batch, et cela fonctionne.

25
répondu Dennis 2014-11-30 23:27:07

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

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

il achemine le fichier script vers la ligne de commande PowerShell.

20
répondu AndyM 2014-11-30 23:27:46

Un moyen facile est d'utiliser des PowerShell ISE , ouvrez le script, exécutez et d'appeler votre script, la fonction...

Enter image description here

9
répondu Jose Evaristo Cepeda Barrera 2017-03-02 10:29:56

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 vous avez besoin de exécuter en tant qu'administrateur :

  1. faire un raccourci pointé vers l'invite de commande (je l'ai appelé Commande Administrative Rapide)
  2. ouvrir les propriétés du raccourci et aller à L'onglet Compatibilité
  3. dans la section Niveau privilège, assurez-vous que la case à cocher à côté de "Exécuter ce programme en tant qu'administrateur" est cochée.
8
répondu Kiquenet 2014-11-17 09:04:06

assez facile. Cliquez sur le bouton droit de la souris .ps1 fichier dans Windows et dans le menu shell cliquez sur exécuter avec PowerShell .

7
répondu electronictonic 2017-03-02 10:27:56
  • donnez le chemin du script, c'est-à-dire le réglage du chemin par cmd:

    $> . c:\program file\prog.ps1

  • exécuter la fonction de point d'entrée de PowerShell:

    par exemple, $> add or entry_func or main

6
répondu pkm 2014-11-30 23:29:00

si votre script est nommé avec l'extension .ps1 et que vous êtes dans une fenêtre PowerShell, vous n'avez qu'à lancer ./myscript.ps1 (en supposant que le fichier se trouve dans votre répertoire de travail).

c'est vrai pour moi de toute façon sur Windows 10 avec PowerShell version 5.1 de toute façon, et je ne pense pas avoir fait quoi que ce soit pour rendre cela possible.

5
répondu rainabba 2017-03-02 10:28:31

dans le cas où vous voulez exécuter PowerShell script avec Windows Task Scheduler, s'il vous plaît suivre les étapes ci-dessous:

  1. "créer une tâche

  2. ensemble Program/Script à Powershell.exe

  3. ensemble Arguments à -File "C:\xxx.ps1"

C'est à partir d'un autre thread de réponse https://stackoverflow.com/a/23954618/3378204

2
répondu Gearon 2018-05-24 08:07:34

utilisez le paramètre-File devant le nom du fichier. Les guillemets font penser à powershell qu'il s'agit d'une chaîne de commandes.

0
répondu Engineer 2018-08-01 11:17:33