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

时间:2016-01-05 09:31:09

标签: powershell batch-file visual-studio-2015 executionpolicy

我刚刚下载的工具在IDE中,在当前项目的根目录中打开Visual Studio命令提示符。我的主要抱怨是它打开了一个旧式命令窗口,我宁愿有一个PowerShell窗口。根据{{​​3}},这个简单的改变应该允许这样:

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

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

  

无法加载PSReadline模块。控制台在没有PSReadline的情况下运行。   。 :文件   C:\用户\布雷迪\文档\ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1   无法加载,因为在此系统上禁用了运行脚本。   有关更多信息,请参阅about_Execution_Policies at   this post。在行:1 char:3   +。 ' C:\用户\贝迪\文件\ WindowsPowerShell \ Microsoft.PowerShell_pr   ...   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~       + CategoryInfo:SecurityError:(:) [],PSSecurityException       + FullyQualifiedErrorId:UnauthorizedAccess PS C:\ Development \ vNext \ Commerce \ src \ Commerce.Test>获取 - 执行 - 政策   PS C:\ Development \ vNext \ Commerce \ src \ Commerce.Test>   Get-ExecutionPolicy受限

我的全局执行政策是RemoteSigned,但在显示错误的同一窗口中,当我运行Get-ExecutionPolicy时,返回的值为Restricted

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

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

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

@PetSerAl在评论

中建议的命令输出
[Environment]::Is64BitOperatingSystem;[Environment]::Is64BitProcess;Get-Executi‌​onPolicy -List

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

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

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

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

1 个答案:

答案 0 :(得分:1)

您可以配置外部命令,也可以选择为其配置击键。

我刚刚在我的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

配置外部工具

工具 - &gt;外部工具

VS2015 External Tools

调用上面的cmd文件,从Solution Dir(可配置)

开始

运行新的外部工具

Run PowerShell External Tool

<强>结果

在解决方案目录中启动了一个新的命令窗口。

可选,配置键盘快捷键

工具 - &gt;选项 - &gt;键盘

搜索external并记住您创建的命令的编号/顺序(在我的情况下为4)

Command shortcut key

点击分配,你有:

Powershell Shortcut