À l'aide de Powershell en tant que terminal dans IntelliJ IDEA IDEs comme PyCharm, PHPStorm ou RubyMine
J'ai été la tentative d'exécution de powershell dans mon terminal sous windows dans pycharm, j'ai donc fait la suivante:
Cependant, lorsque j'essaie de cela, il dit qu'il ne peut pas exécuter mes scripts, et donc j'obtiens l'erreur suivante: SecurityError
et Pleinement Qualifié, Id est : UnAuthorizedAccess
.
Cela provient du fait que pycharm du terminal ne peut pas exécuter mon Powershell_profile.ps1
fichier de profil.
Comment puis-je exécuter avec succès Pycharm du terminal avec Powershell?
Ce que j'ai essayé jusqu'à présent, est d'entrer dans mon principal powershell répertoire comme dans %windir%/system32/WindowsPowerShell/1.0/profile.ps1
, et ensuite de le modifier pour inclure les éléments suivants:
Set-ExecutionPolicy Unrestricted
Cependant, cela n'aide pas, et je reçois le même message d'erreur lorsque j'essaie d'ouvrir de pycharm du terminal.
J'ai aussi essayé d'exécuter pycharm en tant qu'Admin, cependant, cela ne résout pas le problème, et j'ai l' même erreur susmentionnée.
- Avez-vous essayé de spécifier le chemin d'accès absolu à
powershell.exe
? - Essayé comme vous l'avez suggéré, même problème que ci-dessus.
- Depuis il est certainement faisable, pour définir PowerShell dans le terminal par défaut, je pense que c'est Windows problème d'autorisations, plutôt que de PyCharm question. Caisse DONC, la question: stackoverflow.com/questions/4647429/...
- Vous pouvez le définir comme votre terminal par défaut, mais vous obtenez des erreurs comme ceux que j'ai mentionnés ci-dessus, et vous ne pouvez pas exécuter votre profil scripts ou des plugins.
Vous devez vous connecter pour publier un commentaire.
J'ai remplacé cmd.exe avec powershell.exe de façon plus simple et espère que cela peut aider.
Je suis en utilisant webstorm2017 et Win10 os.
1.Trouver l'emplacement exact de
powershell.exe
.Dans la mienne et je crois que dans la plupart des ordinateurs, à l'emplacement seraitC:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
.Copie le tout le chemin dans votre presse-papiers.2.Dans votre IDE ouvrir Fichier=>Configuration=>Outils=>Terminal et coller le chemin d'accès dans le "Shell" chemin vide.
3.Le redémarrage de l'IDE et que tout serait ok.
Recherchez le PowerShell exécutable, clic droit, exécuter en tant qu'administrateur.
À partir de l'invite de commandes, utilisez la même commande vous avez essayé:
Une fois que c'est fait, près de PowerShell et de tenter de l'utiliser à nouveau à partir de votre application.
Remarque:
Vous ne pouvez pas définir la politique d'exécution d'un script, que le défaut d'exécution de la politique empêche l'exécution de scripts. (même si c'est le script de profil - encore un script)
J'ai mis à jour le powershell.exe chemin d'accès à l'Ide -> Paramètres -> Terminal
Ouvert une powershell instance en mode Administrateur.
Exécuté
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Redémarrage de l'Ide, et le problème a été résolu.
L'étape 3 est de ebelanger réponse.
Dans le Shell par Défaut de zone de texte vous pouvez ajouter de la politique d'exécution de la ligne de commande comme ceci:
powershell.exe -Executionpolicy sans restriction
Si vous êtes en cours d'exécution sur Windows 8 x64, puis en exécutant les commandes ci-dessous peuvent aider. Il a travaillé pour moi.
De crédit à un commentaire trouvé ici:
Powershell sur Windows 7: Set-ExecutionPolicy pour les utilisateurs réguliers
Comme mentionné dans d'autres réponses, si après la mise
powershell.exe
que votre terimal dans IntelliJ → Paramètres → Outils → Terminal → Coquille chemin, il jetteUnAuthorizedAccess
des erreurs, d'une façon normale pour résoudre ce problème est de modifier la stratégie d'exécution:Noter que
Unrestricted
niveau est le moins sécurisé de tous, et vous êtes peut généralement aller avecRemoteSigned
afin de désactiver les scripts non signés téléchargé à partir du web jusqu'à ce que vous supprimer manuellementInternet
ouIntranet
Zone.Identifier
d'eux, généralement avec bouton de Déverrouillage dans les propriétés du fichier.Cependant, vous pouvez exécuter à une occasion où vous n'êtes pas en mesure de modifier la stratégie d'exécution. En général, la raison de de sécurité de l'entreprise des paramètres dans Active Directory. Dans PowerShell, qui correspond à des étendues
MachinePolicy
etUserPolicy
. Principal symptôme de cette situation est le message suivant:Vous ne pouvez pas définir les stratégies d'exécution à ce étendues avec PowerShell ou gpedit.msc. Les tentatives pour modifier ces paramètres directement dans la base de registre est également inefficace: ils sont appliqués sur redémarrer ou de connexion, mais en même temps, elles sont en cours de ré-importées à partir d'Active Directory. Cependant, alors vous ne serez pas en mesure d'exécuter des scripts PowerShell tout autour, pour les profils et les autres scripts qui ne modifié manuellement il y a toujours une solution:
Exécutez la commande suivante dans PowerShell pour créer ceritificate fichiers racine.pvk et de la racine.cer - il va vous demander de définir puis de confirmer le mot de passe pour le certificat:
Dans le même dossier, exécutez la commande suivante pour importer le certificat généré les fichiers que votre certificat auto-signé - il vous demandera le mot de passe que vous avez définis ci-dessus:
Signer votre profil script avec la commande suivante:
Lors de l'exécution d'un script signé avec l'auto-ceritificate pour la première fois, PowerShell va vous demander au sujet de faire confiance au certificat comme ceci:
Réponse
A
de toujours exécuter des certificats auto-signés.Maintenant votre profil de script ne sont pas la cause des erreurs. Toutefois, notez que la signature d'un certificat ajoute un bloc de signature à la fin de votre script contenant son hachage. Si vous êtes sur le point de modifier le script, de supprimer ce bloc et, après vous avez terminé avec l'édition du script, le signer à nouveau en répétant l'étape 3.
De cette écriture (2018-9-20), il y a maintenant un plug-in PowerShell disponibles ici.
J'ai installé la v1.1 dans PyCharm v2018.2.3 (Professionnel), et il semble que ça fonctionne comme un charme, pas de jeu de mots.
Ce plugin fournit une Intellisense-type de soutien de la PS1 scripts, ainsi que d'un système intégré PowerShell terminal. Pour ouvrir le terminal, allez dans Outils > Console PowerShell...
Il semble y avoir aucun besoin de bricolons avec toutes sortes de paramètres ou les autorisations pour le faire fonctionner. Il Fonctionne, Tout Simplement.
Pour WebStorm et PowerShell 6+ sur Windows 10.
Il suffit de suivre cette capture d'écran et de modifier la valeur par défaut cmd.exe pour pwsh.exe à partir des paramètres. Enfin redémarrer l'ide. Fait!