无法绕过“受限”执行政策
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-ExecutionPolicy -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)
点击分配,您将获得:
我刚刚下载了一个工具,它在当前项目的根目录 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-ExecutionPolicy -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)
点击分配,您将获得: