Visual Studio代码cmd错误:无法加载,因为此系统上的运行脚本被禁用

Ric*_*cha 3 powershell command-line visual-studio-code vscode-settings

在Visual Studio代码内部,我试图从命令行执行script.bat,但出现以下错误:

无法加载文件C:\ Theses_Repo \ train-cnn \ environment \ Scripts \ activate.ps1,因为此系统上的运行脚本已禁用。

读完这篇文章后,我试图以管理员模式运行Visual Studio代码,以为问题出在特权上。但是无论如何都会抛出错误。

Abd*_*bdu 97

为了更简单,除了 Ricardo 的答案之外,我还想添加 vs 代码设置路径。你可以这样得到它:

文件 -> 首选项 -> 设置并在搜索栏中写入“自动化”。

之后,通过查看您的操作系统输入“edit in settings.json”。

最后,在大括号中添加以下 b/n:

"terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass"]
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 可能是个愚蠢的问题,但是这里的 b/n 是什么? (3认同)

nul*_*ull 68

从 Visual Studio Code 处理此问题的最简单方法是从 powerShell 更改为 cmd(假设在您的情况下没有理由使用 powershell)。为此,请按照以下几个步骤操作:

  1. 终端 -> 新终端
  2. 在右下角选择“Select Default Shell”选项

在此处输入图片说明

  1. 选择“命令提示符”

在此处输入图片说明

我在目前的答案中还没有找到这样的解决方案。希望有帮助!

  • 这个简单的解决方案对我来说非常有用,我尝试了其他解决方案但没有成功。 (2认同)

jay*_*sia 38

面对同样的问题,这对我有用。以管理员身份打开 PowerShell 并粘贴它。

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser  
Run Code Online (Sandbox Code Playgroud)


Moi*_*hyS 30

问题是 PowerShell 默认限制运行脚本,除非我们更改执行策略

我们可以通过添加-ExecutionPolicy Bypassargs来更改执行策略。在 vscode 中,您必须通过在 settings.json(ctrl + shift + p 并键入“settings.json”)中添加以下参数来创建带有这些参数的 shell 配置文件

"terminal.integrated.profiles.windows": {
  "PowerShell": {
    "source": "PowerShell",
    "icon": "terminal-powershell",
    "args": ["-ExecutionPolicy", "Bypass"]
  }
},
"terminal.integrated.defaultProfile.windows": "PowerShell",
Run Code Online (Sandbox Code Playgroud)

注意:terminal.integrated.shellArgs设置已被弃用

  • 注意:已知 defaultProfile 无法在初始恢复的终端上工作 [#123188](https://github.com/microsoft/vscode/issues/123188) - 当您从 + 按钮打开终端时,它应该可以工作。希望很快就能得到修复。 (31认同)
  • 必须在 vscode 中重新启动 powershell 才能使其工作。谢谢。 (5认同)
  • 截至 2021 年 5 月,这是正确的解决方案。设置terminal.integrated.shellArgs.windows 的旧方法不再有效。 (4认同)
  • VSCode 可能会为您提供 settings.json 的三个选项:工作区设置、默认设置和仅设置。除非我选择最后一个选项:打开工作区设置,否则它对我不起作用。 (4认同)
  • 这非常有效。之前的答案在 VS Code 中已被贬值。谢谢你! (2认同)
  • 工作完美。我还必须使用 + 按钮在 VSCODe 中启动一个新的 powershell。 (2认同)
  • 这个解决方案对我有用。我无法更改 settings.json 文件,因为这样做时它是只读的。我必须结合阿卜杜答案的“味道”。我必须使用“文件”->“首选项”->“设置”并选择“在 settings.json 中编辑”才能修改该文件。我搜索的是“配置文件”而不是“自动化”……不确定自动化设置是什么,但它们对我不起作用。 (2认同)

Bar*_*i r 17

  1. 打开VS代码

  2. 文件 -> 首选项 -> 设置

  3. 在搜索栏中 -> 搜索“terminal.integrated.shellArgs”

  4. 单击 Terminal>integrated>ShellArgs>windows 的“Edit in setting.json”[无论您使用什么操作系统,请选择相应的设置]

  5. 在 json 文件的顶部添加以下内容:

    terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass"]

    例如在添加你的 json 之后可能看起来像:

{
    "terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass"],
    "git.autofetch": true,
    "peacock.favoriteColors": [
        {
            "name": "Angular Red",
            "value": "#b52e31"
        },
        {
            "name": "Auth0 Orange",
            "value": "#eb5424"
        },
Run Code Online (Sandbox Code Playgroud)
  1. 重新启动 VS 代码并再次尝试该命令(在我的情况下,我正在尝试 ng serve)


小智 13

由于 Windows 10 上的安全原因,我遇到了同样的问题。我设法通过在 PowerShell 中运行以下命令来修复它:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Run Code Online (Sandbox Code Playgroud)


pix*_*ata 12

  1. 按键盘上的 windows 按钮

  2. 输入“PowerShell”

  3. 右键单击 Windows PowerShell

  4. 单击以管理员身份运行

  5. 运行以下命令并用“Y”确认

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

更多信息:https : //www.roelpeters.be/solved-running-scripts-is-disabled-on-this-system-in-powershell/


Vip*_*oni 10

运行以下命令即可解决问题。

set-ExecutionPolicy RemoteSigned -Scope CurrentUser (我只在 Windows 中尝试过)


Ric*_*cha 9

我在这里发现,您可以将以下内容添加到Visual Studio代码设置中,问题将消失:

"terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass"]
Run Code Online (Sandbox Code Playgroud)

原因是,在构建命令行集成(如Visual Studio代码)时,您需要自行设置命令行策略。通过设置以上配置,Visual Studio代码将为您完成此任务。

(阅读此内容可以更好地了解命令行策略)

  • 谢谢你,先生!在 settings.json 中添加此内容后,您应该重新加载或重新打开 vscode,通知会询问您是否要授予执行策略的访问权限。 (3认同)
  • 太感谢了。这对我来说很有效(经过一小时的研究),并让我不再头痛。 (2认同)
  • 在 VSCode 设置中的哪个位置添加这个? (2认同)

小智 8

我以管理员身份打开 VS Code 并在终端中运行此命令:

Set-ExecutionPolicy Unrestricted
Run Code Online (Sandbox Code Playgroud)

它允许我运行脚本而不会出错。


小智 7

出于安全原因,如果您与其他用户共享计算机,请使用:PowerShell:

Set-ExecutionPolicy -范围当前用户不受限制

无需管理员权限。


小智 7

  1. 打开VS代码
  2. 转到文件 -> 首选项 -> 设置
  3. 在搜索栏中 -> 搜索“terminal.integrated.defaultprofile.windows”
  4. 单击终端 > 集成 > 默认配置文件的“在 setting.json 中编辑”:Windows [无论您使用什么操作系统,请选择相应的设置]。

在 JSON 文件的顶部添加以下内容:

"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.profiles.windows": {
    "PowerShell": {
        "source": "PowerShell",
        "args": [
            "-ExecutionPolicy",
            "Bypass"
        ]
    }
},
Run Code Online (Sandbox Code Playgroud)

注意:不推荐使用以下设置行:

"terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass"]
Run Code Online (Sandbox Code Playgroud)


小智 5

解决问题的步骤,

  1. 在您的计算机中打开 PowerShell(这将更改 Windows 计算机上的 PowerShell 执行策略)
  2. 运行(为您的机器获取执行策略)

获取执行策略-列表

  1. 跑步

Set-ExecutionPolicy -范围当前用户不受限制