PowerShell indique que «l'exécution des scripts est désactivée sur ce système».

1764

J'essaye de lancer un fichier qui appelle un script cmd.exe, et je reçois l'erreur ci-dessous:

Management_Install.ps1 ne peut pas être chargé car l'exécution des scripts est désactivée sur ce système.

j'ai couru

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

et quand je lance Get-ExecutionPolicyde, Je Unrestrictedreviens.

PS C:\Users\Administrator\> Get-ExecutionPolicy
Unrestricted

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> powershell .\Management_Install.ps1 1

WARNING: Running x86 PowerShell...

Impossible de C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1charger le fichier car l'exécution des scripts est désactivée sur ce système. Veuillez voir " get-help about_signing" pour plus de détails.

À la ligne: 1 caractère: 25

  • .\Management_Install.ps1 <<<< 1

    • CategoryInfo: NotSpecified: (:) [], PSSecurityException

    • FullyQualifiedErrorId: RuntimeException

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE

Press any key to continue . . .

Le système est Windows Server 2008R2.

Qu'est-ce que je fais mal?

Conor
la source
3
Pas de camarade de recherche, je suis connecté en tant qu'administrateur et j'ai également fait un run en tant qu '"administrateur" et j'ai obtenu le même résultat que ci-dessus ...
Conor
2
Aller au fond des choses, l'erreur était trompeuse, le problème était dans mon script PowerShell, merci!
Conor
Il convient de souligner que la stratégie d'exécution comporte plusieurs étendues et que l'exécution de PowerShell de différentes manières peut vous permettre d'obtenir différentes stratégies. Pour afficher la liste des stratégies, exécutez Get-ExecutionPolicy -List.
Bacon Bits

Réponses:

2243

Si vous utilisez Windows Server 2008 R2, il existe une version x64 et x86 de PowerShell qui doivent toutes deux avoir leurs stratégies d'exécution définies. Avez-vous défini la stratégie d'exécution sur les deux hôtes?

En tant qu'administrateur , vous pouvez définir la stratégie d'exécution en la tapant dans votre fenêtre PowerShell:

Set-ExecutionPolicy RemoteSigned

Pour plus d'informations, voir Utilisation de l'applet de commande Set-ExecutionPolicy .

Lorsque vous avez terminé, vous pouvez rétablir la valeur par défaut de la stratégie avec:

Set-ExecutionPolicy Restricted
Chad Miller
la source
141
Set-ExecutionPolicy Restrictedsemble être le moyen de l'annuler si vous souhaitez remettre les autorisations telles qu'elles étaient: technet.microsoft.com/en-us/library/ee176961.aspx . La méthode de contournement temporaire @Jack Edmondsme semble plus sûre:powershell -ExecutionPolicy ByPass -File script.ps1
SharpC
33
Pour une politique plus sécurisée, appliquez-la à l'utilisateur réel: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Nuno Aniceto
Set-ExecutionPolicy RemoteSigned ne peut pas être la première ligne de votre script. Si tel est le cas, mettez-le en surbrillance et exécutez la sélection uniquement INITIALEMENT avant d'exécuter le reste de votre script.
ozzy432836
Je suis tombé sur une question similaire sur le site SF, « la politique d'exécution Powershell au sein de SQL Server » a demandé le 10 octobre '14. Les réponses y inclus ce Get-ExecutionPolicy -Listqui m'a permis de voir les différents champs d' application. Le cmd Get-ExecutionPolicyne montre pas tous les champs d' application. Import-Module SQLPSTravaille maintenant avec les politiques ont évolué comme suit: {Undefined- Process,MachinePolicy,UserPolicy,}; {RemoteSigned- CurrentUser, LocalMachine}.
SherlockSpreadsheets
Si je le fais, la modification ne dure-t-elle que pour la durée du PowerShell actuel? Ou est-ce plus gros que ça?
William Jockusch
709

Vous pouvez contourner cette stratégie pour un seul fichier en l'ajoutant -ExecutionPolicy Bypasslors de l'exécution de PowerShell

powershell -ExecutionPolicy Bypass -File script.ps1
Jack Edmonds
la source
3
C'est également très pratique si vous êtes sur un compte non administrateur. J'ai créé un raccourci vers %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPassma barre des tâches.
zek19
3
Notez que Microsoft Technet le stylise comme "Bypass", pas "ByPass". Voir: technet.microsoft.com/nl-nl/library/hh849812.aspx
Jelle Geerts
1
Cela ne fonctionne pas pour moi, je reçois la même autorisation refusée que si je l'appelais normalement. Appeler une ps1 à partir d'un .bat en faisant type script.ps1 | powershell -fonctionne cependant.
Some_Guy
8
Le but de la politique d'exécution est d'empêcher les gens de double-cliquer sur un .ps1et d'exécuter accidentellement quelque chose qu'ils ne voulaient pas. Cela se produirait avec les .batfichiers
Kolob Canyon
Vous sauvez ma journée merci pour la réponse.
Arpit Patel
163

J'ai eu un problème similaire et j'ai noté que la valeur par défaut cmdsur Windows Server 2012 , exécutait celle x64.

Pour Windows 7 , Windows 8 , Windows 10 , Windows Server 2008 R2 ou Windows Server 2012 , exécutez les commandes suivantes en tant qu'administrateur :

x86 (32 bits)
Ouvrir C:\Windows\SysWOW64\cmd.exe
Exécuter la commandepowershell Set-ExecutionPolicy RemoteSigned

x64 (64 bits)
Ouvrir C:\Windows\system32\cmd.exe
Exécuter la commandepowershell Set-ExecutionPolicy RemoteSigned

Vous pouvez vérifier le mode en utilisant

  • En CMD: echo %PROCESSOR_ARCHITECTURE%
  • À Powershell: [Environment]::Is64BitProcess

Références:
MSDN - Stratégies d'exécution Windows PowerShell
Windows - Explication du répertoire 32 bits vs 64 bits

Ralph Willgoss
la source
133

La plupart des réponses existantes expliquent le comment , mais très peu expliquent le pourquoi . Et avant de vous lancer dans l'exécution de code d'inconnus sur Internet, en particulier de code qui désactive les mesures de sécurité, vous devez comprendre exactement ce que vous faites. Voici donc un peu plus de détails sur ce problème.

Sur la page À propos des stratégies d'exécution de TechNet :

Les stratégies d'exécution de Windows PowerShell vous permettent de déterminer les conditions dans lesquelles Windows PowerShell charge les fichiers de configuration et exécute les scripts.

Les avantages énumérés par PowerShell Basics - Execution Policy and Code Signing sont les suivants:

  • Contrôle de l'exécution - Contrôlez le niveau de confiance pour l'exécution des scripts.
  • Command Highjack - Empêche l'injection de commandes sur mon chemin.
  • Identité - Le script est-il créé et signé par un développeur en qui j'ai confiance et / ou signé avec un certificat d'une autorité de certification en laquelle j'ai confiance.
  • Intégrité - Les scripts ne peuvent pas être modifiés par des logiciels malveillants ou des utilisateurs malveillants.

Pour vérifier votre stratégie d'exécution actuelle, vous pouvez exécuter Get-ExecutionPolicy. Mais vous êtes probablement ici parce que vous voulez le changer.

Pour ce faire, vous exécutez l' Set-ExecutionPolicyapplet de commande.

Vous aurez deux décisions importantes à prendre lors de la mise à jour de la politique d'exécution.

Type de politique d'exécution:

  • Restricted - Aucun script local, distant ou téléchargé ne peut être exécuté sur le système.
  • AllSigned - Tous les scripts exécutés doivent être signés numériquement.
  • RemoteSigned - Tous les scripts distants (UNC) ou téléchargés doivent être signés.
  • Unrestricted - Aucune signature pour aucun type de script n'est requise.

Portée du nouveau changement

  • LocalMachine - La politique d'exécution affecte tous les utilisateurs de l'ordinateur.
  • CurrentUser - La politique d'exécution affecte uniquement l'utilisateur actuel.
  • Process - La stratégie d'exécution affecte uniquement le processus Windows PowerShell en cours.

† = Par défaut

Par exemple : si vous vouliez changer la stratégie en RemoteSigned pour le CurrentUser uniquement, vous exécuteriez la commande suivante:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Remarque : Pour modifier la stratégie d'exécution, vous devez exécuter PowerShell en tant qu'administrateur . Si vous êtes en mode normal et essayez de modifier la stratégie d'exécution, vous obtiendrez l'erreur suivante:

L'accès à la clé de Registre «HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell» est refusé. Pour modifier la stratégie d'exécution pour la portée par défaut (LocalMachine), démarrez Windows PowerShell avec l'option «Exécuter en tant qu'administrateur».

Si vous souhaitez resserrer les restrictions internes sur vos propres scripts qui n'ont pas été téléchargés depuis Internet (ou du moins ne contiennent pas les métadonnées UNC), vous pouvez forcer la stratégie à exécuter uniquement des sripts signés. Pour signer vos propres scripts, vous pouvez suivre les instructions de l'article de Scott Hanselman sur la signature de scripts PowerShell .

Remarque : La plupart des gens sont susceptibles d'obtenir cette erreur chaque fois qu'ils ouvrent Powershell car la première chose que PS essaie de faire lors de son lancement est d'exécuter votre script de profil utilisateur qui configure votre environnement comme vous l'aimez.

Le fichier se trouve généralement dans:

%UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1

Vous pouvez trouver l'emplacement exact en exécutant la variable PowerShell

$profile

Si vous ne vous souciez de rien dans le profil et que vous ne voulez pas vous soucier de vos paramètres de sécurité, vous pouvez simplement le supprimer et PowerShell ne trouvera rien qu'il ne puisse pas exécuter.

KyleMit
la source
8
Je pense qu'il est important de noter que bien que la stratégie d'exécution soit une mesure de sécurité, elle n'est pas destinée à empêcher les utilisateurs d'exécuter du code PowerShell. La politique d'exécution est quelque chose qui vise à protéger vos scripts et à déterminer qui les a écrits, modifiés ou approuvés et c'est tout. Il est trivial de contourner la politique d'exécution avec quelque chose d'aussi simple que Get-Content .\MyFile.ps1 | powershell.exe -NoProfile -.
Bacon Bits
1
Compte tenu de l'existence de -ExecutionPolicy ByPass, quel est le but de cette politique de toute façon? Est-ce juste pour empêcher les utilisateurs d'ouvrir accidentellement une console PowerShell et d'exécuter un script malveillant? L'attaquant ne pourrait-il pas simplement utiliser un exécutable ou un script batch s'il voulait contourner cela? Même après avoir lu le commentaire de @BaconBits, je ne sais pas trop quel scénario cette politique est censée empêcher ...
Ajedi32
2
@ Ajedi32 Dis que j'ai une tâche qui exécute un script sur un partage réseau. Lorsque j'appelle mon script, je veux que mon processus vérifie que le script est signé. Je veux que mon code vérifie que le script que je vais exécuter est le code que j'ai confiance pour exécuter. Je me fiche que vous puissiez exécuter mon code. Arrêter c'est le travail des droits d'accès. Je veux juste vous empêcher de me faire exécuter du code que je n'ai pas écrit. Les droits d'accès signifient que le système d'exploitation vous empêche de modifier mon code lorsque vous êtes connecté. La politique de signature et d'exécution de code signifie que mon script n'a pas été modifié lorsque je vais l'exécuter.
Bacon Bits
40

Sous Windows 7:

Accédez au menu Démarrer et recherchez «Windows PowerShell ISE».

Cliquez avec le bouton droit sur la version x86 et choisissez «Exécuter en tant qu'administrateur».

Dans la partie supérieure, collez Set-ExecutionPolicy RemoteSigned; exécutez le script. Choisissez "Oui".

Répétez ces étapes pour la version 64 bits de Powershell ISE (la version non x86).

Je clarifie simplement les étapes auxquelles @Chad Miller a fait allusion. Merci Chad!

Ryan
la source
39

L'exécution de cette commande avant que le script ne résout également le problème:

set-executionpolicy unrestricted
manik sikka
la source
27
-1 - Suivez le principe de la moindre permission. Définissez au moins la stratégie sur RemoteSignedavant de supprimer toutes les restrictions sur votre stratégie de sécurité. Si cela ne fonctionne pas, réévaluez vos problèmes de douleur et pourquoi cela ne fonctionne pas. Vous pouvez définir unrestricteden dernier recours, mais cela ne devrait pas être votre point de départ.
KyleMit
3
Merci d'avoir signalé cette option également. Avec tout le respect dû aux besoins de sécurité à des fins de production, à une époque où la demande de capacité de prototypage rapide est si élevée, toutes les politiques et la sécurité entravent vraiment la réalisation des tâches.
tishma
1
En ce qui concerne le commentaire sur le prototypage, je crains que c'est pourquoi le code merdique entre en production. Bien sûr, ce n'est qu'un exemple trivial, mais si vous ne pouvez pas résoudre quelque chose d'aussi trivial pendant le développement, c'est une inquiétude pour la publication. En outre, pour le code sur mesure, et si vous le pouvez, connaissez l'environnement cible - nous définissons la majorité de nos systèmes internes comme Remotesigned.
Trix
34

Si vous êtes dans un environnement où vous n'êtes pas administrateur, vous pouvez définir la politique d'exécution juste pour vous et elle ne nécessitera pas d'administrateur.

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"

ou

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "Unrestricted"

Vous pouvez tout lire à ce sujet dans la rubrique d'aide.

Help Get-ExecutionPolicy -Full
Help Set-ExecutionPolicy -Full
Micah 'Powershell Ninja'
la source
Fonctionne très bien pour moi dans Windows 8, même quand Set-ExecutionPolicy Unrestricteden tant qu'administrateur ne semble pas "suffisamment restreint" pour vraiment aider.
patridge
1
Je crois que ce que vous pouvez rencontrer est un objet de stratégie de groupe ou quelque chose d'autre remplaçant votre paramètre de niveau "LocalMachine" d'ExecutionPolicy. Vous ne pouvez pas remplacer ce qu'une stratégie de domaine a mis en place avec la commande Set-ExecutionPolicy. Cependant, mais en définissant le niveau d'accès "CurrentUser", vous et vous seul aurez la politique d'exécution spécifiée. Cela est dû au fait que l'ordinateur examine le CurrentUser pour la stratégie d'exécution avant d'examiner le paramètre LocalMachine.
Micah 'Powershell Ninja'
1
Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "Unrestricted" est la seule solution qui a fonctionné pour moi. Merci
Paulj
32

RemoteSigned: tous les scripts que vous avez créés vous-même seront exécutés et tous les scripts téléchargés sur Internet devront être signés par un éditeur de confiance.

OK, changez la politique en tapant simplement:

Set-ExecutionPolicy RemoteSigned
Jaime
la source
Comme recommandé dans d'autres articles: il est judicieux d'inclure "-Scope CurrentUser" pour une politique plus sécurisée, lorsque cela a du sens.
clusterdude
32

Nous pouvons obtenir l'état du courant ExecutionPolicypar la commande ci-dessous:

Get-ExecutionPolicy;

Par défaut, il est restreint . Pour permettre l'exécution de scripts PowerShell, nous devons définir cette ExecutionPolicy soit en contournant, soit sans restriction .

Nous pouvons définir la stratégie pour l'utilisateur actuel en utilisant Bypassou Unrestricteden utilisant l'une des commandes PowerShell ci-dessous:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force;

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force;

La politique sans restriction charge tous les fichiers de configuration et exécute tous les scripts. Si vous exécutez un script non signé qui a été téléchargé à partir d'Internet, vous êtes invité à demander l'autorisation avant de s'exécuter.

Alors que dans la stratégie de contournement , rien n'est bloqué et il n'y a aucun avertissement ou invite pendant l'exécution du script. Le contournement ExecutionPolicyest plus détendu queUnrestricted .

Pratik Patil
la source
4
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force; AKA moyen rapide et sale de dire à VS2015 d'arrêter de se plaindre et d'exécuter mon script sanglant. Merci. bouée de sauvetage.
Eon
1
Les points-virgules à la fin des commandes sont superflus.
Bill_Stewart
23

J'utilise Windows 10 et je n'ai pas pu exécuter de commande. La seule commande qui m'a donné quelques indices était la suivante:

[x64]

  1. Ouvrez C: \ Windows \ SysWOW64 \ cmd.exe [en tant qu'administrateur]
  2. Exécutez la commande> powershell Set-ExecutionPolicy Unrestricted

Mais cela n'a pas fonctionné. C'était limité. Probablement de nouvelles politiques de sécurité pour Windows10. J'ai eu cette erreur:

Set-ExecutionPolicy: Windows PowerShell a correctement mis à jour votre stratégie d'exécution, mais le paramètre est remplacé par une stratégie définie à une portée plus spécifique. En raison de la substitution, votre shell conservera sa politique d'exécution effective actuelle de ...

J'ai donc trouvé un autre moyen ( solution ):

  1. Ouvrir la commande / console d'exécution ( Win+ R)
  2. Type: gpedit.msc ( éditeur de stratégie de groupe )
  3. Accédez à Stratégie de l'ordinateur local -> Configuration de l'ordinateur -> Modèles d'administration -> Composants Windows -> Windows PowerShell .
  4. Activer " Activer l'exécution du script "
  5. Définissez la stratégie selon vos besoins. J'ai mis le mien sur " Autoriser tous les scripts ".

Maintenant, ouvrez PowerShell et profitez;)

hugocabral
la source
S'agit-il d'une installation autonome ou êtes-vous connecté à un groupe de travail ou à un domaine?
MEMark
Pourquoi ouvrir cmd pour le faire? Ouvrez simplement ISE (en tant qu'administrateur) et tapezSet-ExecutionPolicy RemoteSigned
Kolob Canyon
OMG cela a finalement corrigé ma boîte win10, @kolob set-executionpolicy ne suffit pas
xer0x
Vous ne devriez pas utiliser Unrestricted. Il est préférable de l'utiliserRemoteSigned
Kolob Canyon
@ xer0x cela devrait être aussi longtemps que vous exécutez powershell en tant qu'administrateur
Kolob Canyon
10

La définition de la politique d'exécution est spécifique à l'environnement. Si vous essayez d'exécuter un script à partir de l' ISE x86 en cours d'exécution, vous devez utiliser le PowerShell x86 pour définir la stratégie d'exécution. De même, si vous exécutez l'ISE 64 bits, vous devez définir la stratégie avec PowerShell 64 bits.

ScriptAholic
la source
10

Win+ Ret tapez la commande copier-coller et appuyez sur OK:

powershell Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"

Et exécutez votre script.

Puis annulez les modifications comme:

powershell Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "AllSigned"
Qamar
la source
10

Vous pouvez également contourner cela en utilisant la commande suivante:

PS > powershell Get-Content .\test.ps1 | Invoke-Expression

Vous pouvez également lire cet article de Scott Sutherland qui explique 15 façons différentes de contourner PowerShell Set-ExecutionPolicysi vous ne disposez pas des privilèges d'administrateur:

15 façons de contourner la stratégie d'exécution PowerShell

Alexander Sinno
la source
C'est probablement l'un des guides les plus convaincants pour dépanner et comprendre cette restriction.
Osvaldo Mercado
5
  1. Ouvrez PowerShell en tant qu'administrateur et exécutez Set-ExecutionPolicy -Scope CurrentUser
  2. Fournissez RemoteSigned et appuyez sur Entrée
  3. Exécutez Set-ExecutionPolicy -Scope CurrentUser
  4. Fournissez sans restriction et appuyez sur Entrée
Ramanujam Allam
la source
5

vous pouvez essayer ceci et sélectionner l'option "Tous"

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Taqi Raza Khan
la source
3

Dans l' éditeur PowerShell ISE , j'ai trouvé que l'exécution des premiers scripts autorisés de la ligne suivante.

Set-ExecutionPolicy RemoteSigned -Scope Process
David Douglas
la source
2

Dans PowerShell 2.0, la stratégie d'exécution a été définie sur désactivé par défaut.

Depuis lors, l'équipe PowerShell a apporté de nombreuses améliorations, et elle est convaincue que les utilisateurs ne casseront pas grand-chose lors de l'exécution de scripts. Donc, à partir de PowerShell 4.0, il est activé par défaut.

Dans votre cas, tapez à Set-ExecutionPolicy RemoteSignedpartir de la console PowerShell et dites oui.

Adil Arif
la source
2

J'ai eu le même problème aujourd'hui. La stratégie d'exécution 64 bits n'était pas restreinte, tandis que 32 bits était restreinte.

Voici comment modifier à distance uniquement la stratégie 32 bits:

Invoke-Command -ComputerName $servername -ConfigurationName Microsoft.PowerShell32 -scriptblock {Set-ExecutionPolicy unrestricted}
rko281
la source
2

Accédez au chemin de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShellet définissez ExecutionPolicysur RemoteSigned.

sunish surendran.k
la source
1
1. Ouvrez PowerShell en tant qu'administrateur et exécutez Set-ExecutionPolicy -Scope CurrentUser 2. Fournissez RemoteSigned et appuyez sur Entrée 3. Exécutez Set-ExecutionPolicy -Scope CurrentUser 4. Fournissez Unrestricted et appuyez sur Entrée
Ramanujam Allam
2

Je reçois un autre avertissement lorsque j'essaie de courir Set-ExecutionPolicy RemoteSigned

J'ai résolu avec ces commandes

Set-ExecutionPolicy "RemoteSigned" -Scope Process -Confirm:$false

Set-ExecutionPolicy "RemoteSigned" -Scope CurrentUser -Confirm:$false
George C.
la source
1

Si vous êtes ici en raison de son exécution avec Ruby ou Chef et en utilisant `` l'exécution du système, exécutez comme suit:

`powershell.exe -ExecutionPolicy Unrestricted -command [Environment]::GetFolderPath(\'mydocuments\')`

Cette commande sert à obtenir le dossier "MyDocuments".

-ExecutionPolicy Unrestricted fait l'affaire.

J'espère que c'est utile pour quelqu'un d'autre.

JGutierrezC
la source
L'enceinte `` devrait-elle vraiment être là?
Peter Mortensen
1

Plusieurs réponses indiquent une politique d'exécution. Cependant, certaines choses nécessitent également un "administrateur runas". C'est le plus sûr dans la mesure où il n'y a pas de modification permanente de la politique d'exécution et qui peut passer les restrictions d'administrateur antérieures. Utilisez avec schedtask pour démarrer un lot avec:

    runas.exe /savecred /user:administrator powershell -ExecutionPolicy ByPass -File script.ps1

de Jack Edmonds ci-dessus, et Peter Mortensen / Dhana de poste Comment exécuter une application en tant que "exécuter en tant qu'administrateur" à partir de l'invite de commande?

Kirt Carson
la source
1

J'ai trouvé que cette ligne fonctionnait mieux pour l'un de mes serveurs Windows Server 2008 R2. Quelques autres n'ont eu aucun problème sans cette ligne dans mes scripts PowerShell:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force -Scope Process
WIlliamT
la source
1

Ouvrez la console Powershell en tant qu'administrateur, puis définissez la stratégie d'exécution

Set-ExecutionPolicy -ExecutionPolicy Remotesigned 
lokeshbandharapu
la source
0

Vous pouvez utiliser un moyen spécial pour le contourner:

Get-Content "PS1scriptfullpath.ps1" | Powershell-NoProfile -

Il redirige le contenu du script powershell vers powershell.exe et l'exécute en contournant la stratégie d'exécution.

Wasif Hasan
la source
0

Cela a résolu mon problème

Ouvrez la PowerShellcommande Windows et exécutez la requête ci-dessous pour modifierExecutionPolicy

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

s'il vous demande de confirmer les modifications, appuyez sur 'Y' et appuyez sur Entrée.

Arvind Chourasiya
la source
0

Exécuter la Set-ExecutionPolicy RemoteSignedcommande

maxxi
la source
0
  1. Powershell ouvert en tant qu'administration
Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"

utilisez cette commande

MD SHAYON
la source
-1

Ouvrez cmd au lieu de PowerShell. Cela m'a aidé ...

Jelmer Jellema
la source
-2

Ouvrez la fenêtre PowerShell en tant qu'administrateur . Ça va marcher.

Suganthan Raj
la source
Cela n'a pas fonctionné. Cependant, l'exécution de PowerShell Set-ExecutionPolicy RemoteSigned a fonctionné.
Thronk