什么是Windows的执行策略?
执行策略是 Windows PowerShell 安全策略的一部分。它确定是否可以加载配置文件(包括 Windows PowerShell 配置文件)和运行脚本,并且确定哪些脚本(如果有)在运行之前必须进行数字签名。此功能有助于防止恶意脚本的执行。
在 Windows 计算机上,可以为本地计算机、当前用户或特定会话设置执行策略。 还可使用组策略设置为计算机和用户设置执行策略。
本地计算机和当前用户的执行策略存储在注册表中。 无需在 PowerShell 配置文件中设置执行策略。 特定会话的执行策略仅存储在内存中,并在会话关闭时丢失。
使用语法:
Set-ExecutionPolicy [-ExecutionPolicy] {<Unrestricted> | <RemoteSigned> | <AllSigned> | <Restricted> | <Default> | <Bypass> | <Undefined>} [[-Scope] {<Process> | <CurrentUser> | <LocalMachine> | <UserPolicy> | <MachinePolicy>}] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]
执行策略的简单介绍(参考)
-- Restricted:不加载配置文件或运行脚本。默认值为“Restricted”。
-- AllSigned:要求所有脚本和配置文件由可信发布者签名,包括在本地计算机编写的脚本。
-- RemoteSigned:要求从 Internet 下载的所有脚本和配置文件均由可信发布者签名。
-- Unrestricted:加载所有配置文件并运行所有脚本。如果运行从 Internet 下载的未签名脚本,则系统将提示您需要相关权限才能运行该脚本。
-- Bypass:不阻止任何执行项,不显示警告和提示。
-- Undefined:从当前作用域删除当前分配的执行策略。此参数将不会删除在组策略作用域中设置的执行策略。
应用
如果我们在执行前端项目的时候报错
yarn : 无法加载文件 C:\Users\***\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ yarn install
+ ~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
这个时候就是执行策略的问题,修改执行策略,set-ExecutionPolicy RemoteSigned
即可