PowerShell开机脚本执行需先设RemoteSigned策略再选启动方式:①用户启动文件夹(快捷方式目标含Bypass参数);②任务计划程序(推荐,支持日志与最高权限);③注册表Run项(静默后台运行)。
powershell 是 windows 中最灵活的开机脚本执行工具,但直接双击 .ps1 文件不会运行——必须通过正确方式调用,并绕过默认的安全限制。关键在于两步:先放宽执行策略,再选择适合场景的启动机制。
一、先让 PowerShell 允许运行本地脚本
Windows 默认禁止运行 .ps1 文件,否则会提示“无法加载文件,因为在此系统上禁止运行脚本”。需设置执行策略:
- 打开 PowerShell(普通用户权限即可),运行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 输入 Y 确认;之后该用户所有本地 .ps1 脚本都可执行(远程脚本仍需签名)
- 验证是否生效:Get-ExecutionPolicy -Scope CurrentUser 应返回 RemoteSigned
二、把脚本放进用户启动文件夹(最简单)
适用于登录后以当前用户身份自动运行,无需管理员权限,适合日常工具类脚本:
- 按 Win + R,输入 shell:startup 回车,打开启动文件夹
- 右键你的脚本(如 init.ps1)→ “显示更多选项” → “创建快捷方式”
- 右键新建的快捷方式 → “属性” → “快捷方式”选项卡 → 点击“高级” → 勾选“以管理员身份运行”(如需提权)
- 将快捷方式拖入刚打开的启动文件夹中
- 注意:若脚本路径含空格,快捷方式“目标”栏应为:
powershell.exe -ExecutionPolicy Bypass -File "C:\My Scripts\init.ps1"
三、用任务计划程序设“登录时触发”(推荐用于生产环境)
比启动文件夹更可靠,支持延迟、重试、日志、最高权限,且能规避部分策略限制:
- 按 Win + R 输入 taskschd.msc 打开任务计划程序
- 右侧点“创建基本任务”,命名如 LoginInit
- 触发器选“当用户登录时”
- 操作选“启动程序”,程序填:powershell.exe,参数填:
-ExecutionPolicy Bypass -File "C:\Scripts\init.ps1" - 在“常规”选项卡勾选“使用最高权限运行”,并取消“只在接通电源时运行”等限制
四、注册表方式(轻量、静默)
适合不想留快捷方式痕迹、或需带参数调用的场景,仅对当前用户生效:
- 按 Win + R 输入 regedit,定位到:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run - 右键空白处 → 新建 → 字符串值,命名为任意名称(如 PsStartup)
- 双击该值,在“数值数据”中填入完整命令:
"powershell.exe" -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\Scripts\auto-mount.ps1" - -WindowStyle Hidden 可隐藏 PowerShell 窗口,适合后台任务

















