windows powershell about_execution_policies

  • 问题

笔记本电脑安装hexo后,在Powershell中输入hexo,没有得到想要的输出,得到错误:

hexo : 无法加载文件 C:\Users\Zeno\AppData\Roaming\npm\hexo.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:
/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ hexo
+ ~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
  • 原因

复制上面错误提示中的链接在浏览器中打开,阅读文档后可以知道两点:

  1. Powershell execution policies的值有:AllSigned,Bypass,Default,RemoteSigned,Restricted,Undefined,Unrestricted
  2. Powershell execution policies可以通过Scope限制设置值生效范围。Scope的值有:MachinePolicy,UserPolicy,Process,CurrentUser,LocalMachine

现在可以知道,出现上面错误是因为about_Execution_Policies值问题限制了hexo运行。

  • 处理

通过命令:Set-ExecutionPolicy -ExecutionPolicy <PolicyName>可以设置。