如何处理 Windows PowerShell 无法执行脚本?

这是我 2020 的第一篇文章,在此之前我多说几句,希望早日战“疫”成功,中国加油!大家出门一定要带好口罩,安全第一!!!


1. 什么是PowerShell ?

我简单理解为运行脚本的环境吧。
有兴趣可以看看《Windows PowerShell是啥?
安装过程可以参考《Powershell 安装




2. 问题描述:

在我的项目里我想使用 yarn 命令进行装包,发现竟然出现了以下问题?
一直装包都是这样的呀,咋出现这个问题咧,秉着“遇问题不慌不忙不躲避”原则,我来仔细研究研究讲着啥?




3. 出现原因:

根据报错显示,我们知道这和 Power Shell 的 execute policy 相关,可以参考官方文档《Set-ExecutionPolicy》详细了解。




4. 命令:


1. 查看执行策略:Get-ExecutionPolicy

  • 运行:
  • 返回:

执行策略 解释
AllSigned 可以执行有数字签名(可信任的出版商)的脚本和配置文件,包括本地脚本。
Bypass 执行脚本无任何阻拦和警告。
Default 默认,windows 客户端为 ‘Restricted’,windows 服务器端为‘RemoteSigned’
RemoteSigned 执行从 Internet 上下载的可信任出版商的脚本和配置文件。是 windows 服务器默认执行策略。
Restricted 不加载配置文件和运行脚本。是window 客户端的默认执行策略。
Undefined 未设置执行策略的范围。
Unrestricted 从PowerShell 6.0 中,这是默认的执行策略。可以加载任何配置文件和脚本。如果加载未受信任的文件,需要允许后才能运行。


很明显,在我的电脑中执行策略为 AllSigned,所以没有办法运行从网络上下载的命令。将其更改为 RemoteSigned。




2. 设置执行策略:Set-ExecutionPolicy RemoteSigned

  • 运行:
  • 返回:
    根据提示,直接选择了 y



按理说到这里,应该结束,并且可以运行脚本了,但是根据我的运行结果,我发现这边还是没有修改成功。




3. 查看执行策略列表:Get-ExecutionPolicy -list

  • 运行:



发现了,CurrentUser 的执行策略没有修改掉。




4. 具体设置某个scope 的执行策略: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

  • 运行:
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 默认情况下,PowerShell禁止PowerShell脚本在Windows系统中执行。这会妨碍渗透测试员,系统管...
    Turays阅读 2,844评论 0 2
  • http://www.gimoo.net/t/1407/5416836f50efc.html .ps1文件是Pow...
    BlackNeko阅读 6,598评论 0 4
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,781评论 0 11
  • 沪江十八岁了。回想自己的十八岁,那已经是三十年前的事了。现在想来,十八岁,多么美好的年华,多么美好的人生,可十八岁...
    通化732张永红阅读 250评论 1 3
  • 外面下着淅淅沥沥的冬雨,这估计是今年的最后一场雨了吧,下次应该下雪了。 眼看着,一年就要过去了,不知道怎么去总结下...
    尼采_07b5阅读 174评论 0 0