无法绕过“受限”执行政策

Can't bypass `Restricted` execution policy

我刚刚下载了一个工具,它在当前项目的根目录 IDE 中打开 Visual Studio 命令提示符。我的主要抱怨是它打开了一个旧式命令 window,我宁愿使用 PowerShell window。根据 this post,这个简单的更改应该允许:

cmd.exe /k ""%VS120COMNTOOLS%VsDevCmd.bat" & powershell"

当我从 VS 2015 外部执行此命令时,它似乎工作正常并为我提供了一个 PowerShell window。然而,当我尝试使用实用程序的菜单项从 VS 内部 运行 它时,它给了我这个错误:

Cannot load PSReadline module. Console is running without PSReadline. . : File C:\Users\brady\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:3 + . 'C:\Users\brady\Documents\WindowsPowerShell\Microsoft.PowerShell_pr ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess PS C:\Development\vNext\Commerce\src\Commerce.Test> Get-Execution-Policy PS C:\Development\vNext\Commerce\src\Commerce.Test> Get-ExecutionPolicy Restricted

我的全局执行策略是RemoteSigned,但在显示错误的同一个window中,当我运行一个Get-ExecutionPolicy时,返回值是Restricted.

我已经尝试修改我的命令以包含 PS 开关:

cmd /k ""%VS140COMNTOOLS%VsDevCmd.bat" & powershell -ExecutionPolicy Bypass" 

但这仍然给我完全相同的错误。

@PetSerAl 在评论中建议的命令输出

[Environment]::Is64BitOperatingSystem;[Environment]::Is64BitProcess;Get-Executi‌​onPolicy -List

给出了两个不同的结果。 VS 外部正常 PS window 中的第一个:

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    RemoteSigned

而第二个在唯一PS window我可以在VS中找到,包管理器:

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process    RemoteSigned
  CurrentUser       Undefined
 LocalMachine       Undefined

您可以配置外部命令并有选择地为其配置击键。

我刚刚在我的 VS2015 中完成了这个...很好!

创建cmd文件

创建 cmd 文件以调用 VsDevCmd.bat(VS2015 的开发人员命令提示),然后调用 PowerShell。

dev14powershell.cmd

call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
powershell -ExecutionPolicy Bypass

配置外部工具

工具 -> 外部工具

调用上面的 cmd 文件,在 Solution Dir(可配置)中启动

运行 新的外部工具

结果

新命令 window 在解决方案目录中启动。

可选,配置快捷键

工具 -> 选项 -> 键盘

搜索 external 并记住您创建的命令的 number/order(在我的例子中是 4)

点击分配,您将获得: