使用Powershell作为IntelliJ IDEA IDE中的终端,如PyCharm,PHPStorm或RubyMine

时间:2014-01-06 12:18:36

标签: powershell intellij-idea pycharm

我一直试图在pycharm的windows上运行powershell作为我的终端,所以我做了以下事情:

enter image description here

然而,当我尝试这个时,它说它无法执行我的脚本,因此我收到以下错误:SecurityError和完全合格的ID为:UnAuthorizedAccess

这是因为pycharm的终端无法执行我的Powershell_profile.ps1配置文件。

如何使用Powershell成功运行Pycharm的终端?

到目前为止我尝试过的是进入我的主要powershell目录,如%windir%/system32/WindowsPowerShell/1.0/profile.ps1中所示,然后将其更改为包含以下内容:

Set-ExecutionPolicy Unrestricted

然而,这没有帮助,当我尝试打开pycharm的终端时,我得到了同样的错误。

我还尝试将pycharm作为Admin运行,但是这也没有解决问题,而且我得到相同的上述错误。

11 个答案:

答案 0 :(得分:25)

我已经用powershell.exe以更简单的方式替换了cmd.exe,并希望它可以提供帮助。 我正在使用webstorm2017和Win10 os。

1.找到powershell.exe的确切位置。在我的情况下,我相信大多数计算机的位置都是C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe。将整个路径复制到剪贴板中。

2.在您的IDE中打开File => Setting => Tools => Terminal,并将路径粘贴到“Shell路径”空白处。

3.重新启动IDE,一切都会好的。

答案 1 :(得分:19)

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

答案 2 :(得分:9)

浏览到PowerShell可执行文件,右键单击,以管理员身份运行。

在提示符下,使用您尝试的相同命令:

Set-ExecutionPolicy Unrestricted

完成后,关闭PowerShell,并尝试再次从您的应用程序中使用它。

注意: 您无法从脚本设置执行策略,因为默认执行策略会阻止您运行脚本。 (即使它是配置文件脚本 - 仍然是脚本)

答案 3 :(得分:5)

  1. 我在IntelliJ中更新了powershell.exe路径 - >设置 - >终端

  2. 在管理员模式下打开了powershell实例。

  3. 已执行Set-ExecutionPolicy Unrestricted -Scope CurrentUser

  4. 重启IntelliJ并解决了问题。

  5. 第3步来自ebelanger's answer

    Screenshot of application settings. Shows the Shell path, the Tab name (Local), and all the options below are checked.

答案 4 :(得分:4)

在Default Shell TextBox中,您可以附加执行策略命令行选项,如下所示:

powershell.exe -Executionpolicy Unrestricted

答案 5 :(得分:3)

如果您在Windows 8 x64上运行,则运行以下两个命令可能会有所帮助。它对我有用。

Set-ExecutionPolicy Unrestricted
start-job { Set-ExecutionPolicy Unrestricted -Force } -RunAs32

感谢此处发表的评论: Powershell on Windows 7: Set-ExecutionPolicy for regular users

答案 6 :(得分:1)

如其他答案中所述,如果在IntelliJ→设置→工具→终端→Shell路径中将powershell.exe设置为您的极限后会抛出UnAuthorizedAccess错误,解决此问题的正常方法是更改​​执行策略:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

请注意Unrestricted级别是最不安全的,并且您通常可以使用RemoteSigned来禁用从网上下载的未签名脚本,直到您手动删除{{1}来自他们的Internet Intranet,通常在文件属性中使用解锁按钮。

但是,当您无法更改执行政策时,您可能会遇到困难。通常是因为Active Directory中的公司安全设置。在PowerShell中,它对应于范围Zone.IdentifierMachinePolicy。这种情况的主要症状是以下消息:

  

Set-ExecutionPolicy:Windows PowerShell更新了您的执行策略   成功,但该设置被a定义的策略覆盖   更具体的范围。由于覆盖,你的shell将保留它   AllSigned的当前有效执行策略。类型   " Get-ExecutionPolicy -List"查看执行策略设置。   有关详细信息,请参阅" Get-Help Set-ExecutionPolicy"。

您无法使用PowerShell或gpedit.msc在此作用域中设置执行策略。尝试直接在注册表中更改此设置也无效:它们在重新启动或登录时应用,但同时又从Active Directory重新导入。但是,虽然您无法全部运行任意PowerShell脚本,但只能手动修改的配置文件和其他本地脚本there's still a solution

  1. 在PowerShell中运行以下命令以创建ceritificate文件root.pvk和root.cer - 它将要求您定义然后确认证书的密码:

    UserPolicy
  2. 在同一文件夹中,运行以下命令将生成的证书文件导入为自签名证书 - 它将询问您在上面定义的密码:

    makecert -n "CN=PowerShell Local Certificate Root" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -sv root.pvk root.cer -ss Root -sr localMachine
    
  3. 使用以下命令对您的个人资料脚本进行签名:

    makecert -pe -n "CN=PowerShell User" -ss MY -a sha1 -eku 1.3.6.1.5.5.7.3.3 -iv root.pvk -ic root.cer
    
  4. 首次运行使用自我证书签名的脚本时,PowerShell会询问您是否信任证书:

      

    文件[脚本路径]由CN = PowerShell User发布。您的系统不信任此发布者。仅运行受信任发布者的脚本。

         

    [V]从不运行[D]不运行[R]运行一次[A]始终运行[?]帮助(默认为" D")

    回答Set-AuthenticodeSignature "[script path]" @(Get-ChildItem cert:\CurrentUser\My -codesign)[0] 以始终运行自签名证书。

  5. 现在您的个人资料脚本不会导致任何错误。但请注意,签署证书会在包含其哈希的脚本末尾添加签名块。如果您要修改脚本,请删除该块,并在完成编辑脚本后,重复步骤3重新签名。

答案 7 :(得分:0)

对于Windows 10上的WebStorm和PowerShell 6 +。 只需按照此屏幕快照并将默认cmd.exe从设置更改为pwsh.exe。最后重新启动ide。完成!

enter image description here

答案 8 :(得分:0)

截至撰写本文时(2018-9-20),here现在提供了一个PowerShell插件。

我已在PyCharm v2018.2.3(专业版)中安装了v1.1,它的工作原理似乎很吸引人,没有双关语。

此插件提供PS1脚本的Intellisense类型支持以及集成的PowerShell终端。为了打开终端,请转到工具> PowerShell控制台...

为了使它正常工作,似乎不需要为任何种类的设置或权限而烦恼。可以。

答案 9 :(得分:0)

您只需要在Shell路径输入中编写powershell,就像在镜像中一样,您也可以看到jetBrains documentation并配置所需的任何Shell。 powershell configuration

答案 10 :(得分:0)

指定默认情况下将运行的外壳。以下是一些不同外壳的示例:

重击:/ bin / bash

Z shell:/ bin / zsh

Windows版Bash:bash.exe

WSL:wsl.exe

PowerShell:powershell

命令提示符:cmd.exe

Cygwin:“ C:\ cygwin \ bin \ bash.exe” --login -i

有关更多信息:https://www.jetbrains.com/help/webstorm/settings-tools-terminal.html