【避坑】PowerShell:因为在此系统上禁止运行脚本 附原因和解决办法
现象:
用powershell作为命令行工具,尝试使用thinkjs,安装完think-cli后检测运行版本(thinkjs -V)时,遇到了以后问题:
快速解决:
通过管理员模式打开powershell,然后输入: ```set-executionpolicy RemoteSigned``` 然后输入A全是,等待运行即可。 (不需要深入了解到此为止,不用看下文)
原因:
当前powershell执行策略无法运行脚本 powershell有四种执行策略: - Restricted 禁止运行任何脚本和配置文件(默认) - AllSigned 可以运行脚本,但要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本 - RemoteSigned 可运行脚本,但要求从网络上下载的脚本和配置文件由可信发布者签名;不要求对已经运行和本地计算机编写的脚本进行数字签名 - Unrestricted 可以运行未签名的脚本
解决方案:
1.换CMD 这比较无脑,不建议,不优雅(但是可以用)。 2.更换设置系统策略 a. 查看powershell当前策略 通过 ```get-executionpolicy```可以获取当前系统策略 出现这个问题是因为系统默认执行策略为Restricted b.使用管理员模式打开powershell c.重新设置powershell策略 显然由上,我们可以看到,只需要修改策略就可以,根据描述我们可以将其修改为RemoteSigned 修改的命令是:set-executionpolicy 策略名 在这里直接调用 ```set-executionpolicy RemoteSigned```即可 d.再次检测当前策略 ```get-executionpolicy``` 可见已经被修改,可以继续之前的操作了。
- 本文作者:AX
- 本文链接:http://xgpax.top/2020/07/01/%E3%80%90%E9%81%BF%E5%9D%91%E3%80%91powershell%EF%BC%9A%E5%9B%A0%E4%B8%BA%E5%9C%A8%E6%AD%A4%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%A6%81%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC-%E9%99%84%E5%8E%9F%E5%9B%A0/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!