Intellij 没有为 powershell 选择正确的执行策略

Intellij not picking up correct execution policy for powershell

我将我的 Powershell 执行策略从 Restricted 更改为 RemoteSigned。如果我打开一个新的 Powershell 终端并 运行 Get-ExecutionPolicy 我会返回 RemoteSigned

我还在 Intellij 中将 Powershell 设置为 运行,而不是默认的命令提示符。但是,当我在 Intellij 的终端中 运行 Get-ExecutionPolicy 时(注意:我在更改策略后重新启动了 Intellij)我仍然返回 Restricted.

这是为什么?如何让 Intellij 获取我的实际执行策略?

PowerShell 执行策略有多个范围(MachinePolicyUserPolicyProcessCurrentUserLocalMachine)。您可以在内置的 PowerShell 帮助中阅读它们:Get-Help about_Execution_Policies。但是该帮助中没有提到的是,LocalMachine 范围对于 x86 和 x64 是分开的。因此,如果您在 LocalMachine 范围内更改执行策略,如果您没有为 Set-ExecutionPolicy cmdlet 指定 -Scope 参数则默认使用该范围,那么您必须执行两次:一次用于 x86 和一次用于 x64。