Cela ressemble à une question simple, mais je n'ai pas pu le résoudre après avoir consulté en ligne. Je veux essentiellement exécuter un script PowerShell (par exemple script.ps1) dans Jenkins et signaler les succès/échecs.
Essayez 1: Exécutez la commande suivante comme "Exécuter la commande par lots de Windows"
powershell -File c:\scripts\script.ps1
Cela démarre comme prévu, mais s'arrête après quelques secondes.
Essayez 2: Exécutez la commande suivante comme "Exécuter la commande par lots de Windows"
powershell -NoExit -File c:\scripts\script.ps1
Cela exécute l'ensemble du script avec succès, mais cela ne s'arrête jamais. J'ai dû abandonner manuellement le script.
Eh bien, il y a un plugin PowerShell , qui enveloppe le Shell de toute façon. J'utilise ceci sur mon serveur, exécutant des scripts en notation standard:
powershell -File test001.ps1
Cela fonctionne sans bizarreries.
J'ai trouvé que le problème venait de PowerShell gérant la stratégie d'exécution séparément pour les versions 32 bits et 64 bits. Checkout http://www.gregorystrike.com/2011/01/27/how-to-tell-if-powershell-is-32-bit-or-64-bit/ pour essayer de lancer les deux . Courir Get-ExecutionPolicy
dans les deux et vous verrez qu'ils sont différents.
Au moins avec la version 1.4, il semble que le plugin utilise le processus 32 bits.