【问题标题】:Using Powershell as terminal in IntelliJ IDEA IDEs like PyCharm, PHPStorm or RubyMine在 PyCharm、PHPStorm 或 RubyMine 等 IntelliJ IDEA IDE 中使用 Powershell 作为终端
【发布时间】:2014-01-23 20:27:37
【问题描述】:

我一直在尝试在 pycharm 中将 powershell 作为我的终端在 windows 上运行,所以我做了以下操作:

但是,当我尝试此操作时,它说它无法执行我的脚本,因此我收到以下错误:SecurityError 并且完全限定 ID 为:UnAuthorizedAccess

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

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

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

Set-ExecutionPolicy Unrestricted

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

我也尝试过以管理员身份运行 pycharm,但这也不能解决问题,并且我得到了 same 上述错误。

【问题讨论】:

  • 您是否尝试指定powershell.exe的绝对路径?
  • @AndreyMyatlyuk 按照您的建议尝试,问题与上述相同。
  • 既然肯定是doable,将PowerShell设置为默认终端,我认为是Windows权限问题,而不是PyCharm问题。查看这个 SO 问题:stackoverflow.com/questions/4647429/…
  • 可以将其设置为您的默认终端,但是您会遇到我上面提到的错误,并且您无法执行您的配置文件脚本或插件。
  • 此问题会静默阻止用户运行虚拟环境。

标签: powershell intellij-idea pycharm


【解决方案1】:

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

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

Set-ExecutionPolicy Unrestricted

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

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

【讨论】:

    【解决方案2】:

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

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

    感谢在此处找到的评论: Powershell on Windows 7: Set-ExecutionPolicy for regular users

    【讨论】:

      【解决方案3】:
      Set-ExecutionPolicy Unrestricted -Scope CurrentUser
      

      【讨论】:

        【解决方案4】:

        在默认 Shell 文本框中,您可以像这样附加执行策略命令行选项:

        powershell.exe -Executionpolicy Unrestricted

        【讨论】:

          【解决方案5】:

          我以更简单的方式将 cmd.exe 替换为 powershell.exe,希望对您有所帮助。 我正在使用 webstorm2017 和 Win10 操作系统。

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

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

          3.重启IDE一切正常。

          【讨论】:

          • 开始目录:C:\Windows\System32\WindowsPowerShell\v1.0\; Shell 路径:2017 版 IntelliJ 产品的 powershell.exe。
          • 这让我的生活轻松多了。
          • 不需要重启IDE,启动一个新终端即可。
          • Powershell 已经在系统路径中,所以只需输入“powershell.exe”而不输入路径即可。
          【解决方案6】:
          1. 我在 IntelliJ -> 设置 -> 终端中更新了 powershell.exe 路径

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

          3. 执行Set-ExecutionPolicy Unrestricted -Scope CurrentUser

          4. 重新启动 IntelliJ,问题已解决。

          第 3 步来自ebelanger's answer

          【讨论】:

            【解决方案7】:

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

            Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
            

            请注意Unrestricted 级别是最不安全的,您通常可以使用RemoteSigned 来禁用从网络下载的未签名脚本,直到您手动删除InternetIntranet @987654329 @来自他们,通常在文件属性中带有解锁按钮。

            但是,您可能会遇到无法更改执行策略的情况。这通常是因为 Active Directory 中的企业安全设置。在 PowerShell 中,这对应于范围 MachinePolicyUserPolicy。这种情况的主要症状是以下消息:

            Set-ExecutionPolicy:Windows PowerShell 更新了您的执行策略 成功,但该设置被在 更具体的范围。由于覆盖,您的外壳将保留其 AllSigned当前有效的执行政策。类型 “Get-ExecutionPolicy -List”查看您的执行策略设置。 更多信息请参见“Get-Help Set-ExecutionPolicy”。

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

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

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

              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
              
            3. 使用以下命令签署您的个人资料脚本:

              Set-AuthenticodeSignature "[script path]" @(Get-ChildItem cert:\CurrentUser\My -codesign)[0]
              
            4. 首次运行使用自证书签名的脚本时,PowerShell 会询问您是否信任该证书,如下所示:

              文件 [脚本路径] 由 CN=PowerShell 用户发布。此发布者在您的系统上不受信任。只运行来自受信任的发布者的脚本。

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

              回答 A 以始终运行自签名证书。

            现在您的配置文件脚本不会导致任何错误。但是,请注意,签署证书会在包含其哈希的脚本末尾添加一个签名块。如果您要修改脚本,请删除该块,并在完成脚本编辑后,通过重复步骤 3 再次对其进行签名。

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

                在撰写本文时 (2018-9-20),现在有一个可用的 PowerShell 插件here

                我在 PyCharm v2018.2.3 (Professional) 中安装了 v1.1,它看起来就像一个魅力,没有双关语。

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

                似乎没有必要为了让它发挥作用而使用任何类型的设置或权限。它只是工作。

                【讨论】:

                  【解决方案10】:

                  您只需要在Shell路径输入中写入powershell,如图所示,您还可以看到jetBrains documentation并配置您想要的任何shell。 powershell configuration

                  【讨论】:

                    【解决方案11】:

                    指定默认运行的shell。以下是不同 shell 的一些示例:

                    重击:/bin/bash

                    Z 外壳:/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

                    【讨论】:

                      【解决方案12】:

                      在 PyCharm 中

                      文件->设置->工具->终端

                      外壳路径: “powershell.exe -ExecutionPolicy 绕过”

                      然后重启 PyCharm

                      【讨论】:

                        猜你喜欢
                        • 2020-07-23
                        • 2014-10-11
                        • 1970-01-01
                        • 2013-08-31
                        • 2016-10-15
                        • 2015-01-19
                        • 1970-01-01
                        • 1970-01-01
                        • 2019-04-09
                        相关资源
                        最近更新 更多