默认执行策略为Restricted,需先运行Get-ExecutionPolicy确认;推荐设为RemoteSigned(CurrentUser),或临时用Bypass绕过。

你在Windows上写好了一个.ps1脚本,双击打不开,用PowerShell运行却提示“无法加载文件…因为在此系统上禁止运行脚本”,这是PowerShell执行策略在起作用——它默认阻止所有脚本执行,哪怕是你自己写的、没联网下载的本地脚本。
确认当前执行策略是否为Restricted
以管理员身份打开PowerShell:点击“开始”→搜索“PowerShell”→右键选择“以管理员身份运行”。
输入命令:Get-ExecutionPolicy,按回车。如果返回值是【Restricted】,说明脚本执行被完全禁用,必须修改策略才能运行你的自定义脚本。
这一步不能跳过。直接改策略却不确认当前状态,可能误操作覆盖已生效的宽松策略。
永久允许当前用户运行本地未签名脚本(推荐)
执行以下命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
按提示输入 Y 确认。该策略允许你本地创建的.ps1脚本直接运行,同时要求从互联网下载的脚本必须带有效数字签名——既解除了你的使用障碍,又保留了基础防护。
关闭并重新打开PowerShell窗口,再次运行 Get-ExecutionPolicy 验证结果。此时应返回 RemoteSigned,且不会影响其他用户或系统级设置。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
临时绕过限制(仅限单次调试)
方法一:仅对当前PowerShell窗口生效
在普通(非管理员)PowerShell中运行:Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
这个命令不写入注册表,关掉窗口就自动失效,适合快速测试脚本逻辑,但【切勿用于运行来源不明的.ps1文件】。
方法二:直接调用脚本时绕过
在PowerShell中输入:powershell -ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1"
路径必须用英文引号包裹,且为完整绝对路径。这种方式不用改任何策略,也不影响当前会话的其他命令行为。










