117 votes

Pourquoi mes scripts Powershell ne fonctionnent-ils pas?

J'ai écrit un fichier batch simple en tant que script PowerShell et je reçois des erreurs lors de l'exécution.

C'est dans un répertoire de scripts sur mon chemin.

 Cannot be loaded because the execution of scripts is disabled on this system. 
please see "get-help about-signing".
 

J'ai regardé dans l'aide, mais c'est moins que utile.

La réponse de @Matt HAmilton FTW

114voto

Matt Hamilton Points 98268

Peut-être le niveau de sécurité par défaut de PowerShell, lequel (IIRC) n'exécutera que les scripts signés.

Essayez de taper ceci:

 set-executionpolicy remotesigned
 

Cela indiquera à PowerShell d'autoriser l'exécution de scripts non signés locaux (c'est-à-dire sur un lecteur local).

Ensuite, essayez à nouveau d'exécuter votre script.

93voto

Nadeem_MK Points 2451

vous devez exécuter set-executionpolicy:

 Set-ExecutionPolicy Unrestricted <-- Will allow unsigned powershell scripts to run.

Set-ExecutionPolicy Restricted <-- Will not allow unsigned powershell scripts to run.

Set-ExecutionPolicy RemoteSigned <-- Will allow only remotely signed powershell scripts to run.
 

J'espère que cela t'aides!

35voto

Naveen Points 11
 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
 

Utilisez toujours ci-dessus cmd pour permettre l'exécution de powershell dans la session en cours.

5voto

Leon Bambrick Points 10886

il faut également savoir que vous incluez. \ devant le nom du script, par exemple

. \ scriptname.ps1

1voto

ExchangeAdmin Points 11

La commande set-executionpolicy unrestricted permettra à tout script créé de s'exécuter en tant qu'utilisateur connecté. Veillez simplement à redéfinir le paramètre executionpolicy sur signé en utilisant la commande set-executionpolicy signed avant de vous déconnecter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X