解决 系统上禁止运行脚本。有关详细信息, 请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies
环境
Windows11 (版本22621.1413)
省流
win + x 以管理员身份运行PowerShell
输入
1Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
,设置成Y即可
想知道改成啥样了,可以输入
1Get-ExecutionPolicy -List
只想知道当前用户的改成啥样了,输入
1Get-ExecutionPolicy
其他人的解决方案
搜到的其他人的法子
- win + x 以管理员身份运行PowerShell
- 输入set-executionpolicy remotesigned,设置成Y即可
但实际上我这并没有把当前用户的executionpolicy 改成remotesigned,或者是我这文件夹不认这个LocalMachine的设置(为啥,我不道啊)
需要知道的一些东西
毕竟这是对电脑的修改,大伙肯定是想知道这是改了什么的
用户组
LocalMachine
执行策略会影响当前计算机上的所有用户。 它存储在 HKEY_LOCAL_MACHINE 注册表子项中。
CurrentUser
执行策略仅影响当前用户。 它存储在 HKEY_CURRENT_USER 注册表子项中。
两个用到的安全策略级别
Restricted
- Windows 客户端计算机的默认执行策略。
- 允许单个命令,但不允许脚本。
- 阻止运行所有脚本文件,包括格式化和配置文件 ()
.ps1xml
、模块脚本文件 (.psm1
) ,以及 PowerShell 配置文件 ().ps1
RemoteSigned
- Windows Server 计算机的默认执行策略。
- 脚本可以运行。
- 需要受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名。
- 不需要在本地计算机上编写且未从 Internet 下载的脚本上使用数字签名。
- 如果未阻止脚本(例如使用 cmdlet),则运行从 Internet 下载且未签名的
Unblock-File
脚本。- 运行来自 Internet 以外的源的未签名脚本以及可能是恶意的已签名脚本的风险。
参考资料
关于执行策略 - PowerShell | Microsoft Learn
Set-ExecutionPolicy (Microsoft.PowerShell.Security) - PowerShell | Microsoft Learn
解决 系统上禁止运行脚本。有关详细信息, 请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies