运行powershell脚本出错
错误信息
PS C:\Users\admin\Desktop\Virtualenv\py3> .\env1\Scripts\activate
.\env1\Scripts\activate : 无法加载文件 C:\Users\admin\Desktop\Virtualenv\py3\env1\Scripts\activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about
_Execution_Policies。
所在位置 行:1 字符: 1
- .\env1\Scripts\activate
+ CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
解决方法
使用管理员权限打开 powershell, 运行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 命令即可.
具体参见 https:/go.microsoft.com/fwlink/?LinkID=135170
Get-获取有效的执行策略:
1
Get-ExecutionPolicy
获取影响当前会话的所有执行策略,并按优先顺序显示它们:
1
Get-ExecutionPolicy -List
获取 CurrentUser 作用域的执行策略:
1
Get-ExecutionPolicy -Scope CurrentUser
更改执行策略:
1
2
3
4Set-ExecutionPolicy -ExecutionPolicy <PolicyName>
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser删除执行策略
1
2Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser单独设置会话
1
pwsh.exe -ExecutionPolicy AllSigned
你设置的执行策略未存储在注册表中。 相反,它存储在
$env:PSExecutionPolicyPreference环境变量中。 关闭设置了策略的会话时,将删除该变量。 不能通过编辑变量值来更改策略。在会话期间,为会话设置的执行策略优先于在注册表中为本地计算机或当前用户设置的执行策略。 但是,它不会优先于通过使用组策略设置的执行策略。