[1259]解决cmd终端“无法加载文件;未对文件进行数字签名“的问题

2024-01-21 10:34:23 浏览数 (1)

问题
代码语言:javascript复制
PS C:Usersadmin> pyenv
pyenv : 无法加载文件 D:softpyenv-winpyenv-winbinpyenv.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:
/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
  pyenv
  ~~~~~
      CategoryInfo          : SecurityError: (:) [],PSSecurityException
      FullyQualifiedErrorId : UnauthorizedAccess
解决办法

Win S,输入“PowerShell”,点击“以管理员身份运行”

在弹出窗口输入get-ExecutionPolicy

代码语言:javascript复制
PS C:Usersadmin> get-ExecutionPolicy
Restricted

这里得到返回值Restricted,事实上我们应该有4种返回值

get-executionPolicy

执行策略

Restricted

脚本不能运行(默认设置)

RemoteSigned

在本地创建脚本可以运行,但从网上下载的不能(拥有数字证书签名除外)

AllSigned

仅当脚本受信任的发布者签名时才能运行

Urestricted

允许所有脚本运行

而我们需要的是"RemoteSigned",输入set-ExecutionPolicy RemoteSigned,接下来,输入“y”“Y”

代码语言:javascript复制
PS C:WINDOWSsystem32> set-ExecutionPolicy RemoteSigned

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): Y
PS C:WINDOWSsystem32>

可能出现的问题 如果你不是以管理员身份进入到PowerShell,会导致无法设置

代码语言:javascript复制
PS C:Usersadmin> get-ExecutionPolicy
Restricted
PS C:Usersadmin> set-ExecutionPolicy RemoteSigned
set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft.PowerShell”的
访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用“以管理员身份运行”选项启动 Windows PowerShell。要更改当
前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。
所在位置 行:1 字符: 1
  set-ExecutionPolicy RemoteSigned
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
      FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma
   nd
PS C:Usersadmin>

参考:https://blog.csdn.net/m0_47197145/article/details/129263106

0 人点赞