
如果您尝试在Windows系统中运行本地PowerShell脚本,但遇到“无法加载文件,因为在此系统上禁止运行脚本”的错误提示,则很可能是当前执行策略(ExecutionPolicy)限制了脚本运行。以下是修改PowerShell ExecutionPolicy以允许运行本地脚本的具体操作步骤:
一、查看当前执行策略
在修改前需确认当前生效的执行策略级别,不同作用域可能设置不同策略,系统按作用域优先级决定最终生效值。
1、以管理员身份打开PowerShell窗口。
2、输入命令:Get-ExecutionPolicy -List,回车执行。
3、观察输出结果中MachinePolicy、UserPolicy、Process、CurrentUser和LocalMachine各作用域的策略值。
二、设置当前用户作用域为RemoteSigned
此方式仅影响当前Windows用户,无需管理员权限,安全性较高,允许运行本地编写的脚本及来自可信源的已签名远程脚本。
1、以普通用户身份启动PowerShell(非管理员)。
2、输入命令:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,回车执行。
3、当提示是否更改执行策略时,键入Y并按回车确认。
三、设置本地计算机作用域为RemoteSigned
此方式对本机所有用户生效,需管理员权限,适用于多用户环境且需统一启用本地脚本执行的场景。
1、右键单击“开始”按钮,选择“Windows PowerShell(管理员)”。
2、输入命令:Set-ExecutionPolicy RemoteSigned -Scope LocalMachine,回车执行。
3、在安全提示中输入Y确认更改。
四、临时绕过执行策略(仅当前会话有效)
该方法不修改任何持久策略设置,仅在当前PowerShell进程生命周期内禁用策略检查,适合快速测试脚本功能。
1、打开PowerShell窗口(任意权限级别)。
2、输入命令:PowerShell -ExecutionPolicy Bypass -File “C:\path\to\your\script.ps1″,将路径替换为实际脚本位置。
3、脚本将直接运行,关闭该窗口后策略恢复原状。
五、使用AllSigned策略增强安全性
此策略要求所有脚本(包括本地脚本)必须由受信任的证书颁发机构签名,适用于高安全需求环境,需预先配置代码签名证书。
1、以管理员身份运行PowerShell。
2、输入命令:Set-ExecutionPolicy AllSigned -Scope CurrentUser,回车执行。
3、系统将提示您验证签名证书,需确保已安装并信任对应证书颁发机构。

评论(0)