windows 10自动运行脚本有五种方法:启动文件夹(用户登录后,免权限)、任务计划程序(开机即执行,支持家庭版)、注册表run键值(分当前用户/所有用户)、组策略(专业版/企业版,登录前执行)及对应权限、路径、执行策略等关键配置要求。

要在 Windows 10 系统启动后自动运行某个批处理、PowerShell 或其他可执行脚本,必须让系统在正确阶段、以正确权限、在路径和策略允许的前提下加载它——脚本放错位置、缺少执行策略绕过、未加引号的含空格路径,都会导致静默失败。
用启动文件夹实现用户登录后自启
这是最轻量、最安全的方法,仅对当前用户生效,无需管理员权限,适合常规运维脚本或桌面辅助工具。
按下 Win + R 打开运行对话框,输入 shell:startup 并回车。
资源管理器将直接打开当前用户的启动文件夹(路径形如 C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)。
右键点击你的脚本文件(如 backup.ps1),选择“创建快捷方式”。
右键该快捷方式 → “属性” → 切换到“快捷方式”选项卡 → 点击“高级” → 勾选【以管理员身份运行】 → 确定。这一步不可跳过,否则 PowerShell 脚本大概率因执行策略被拦截而无声退出。
把快捷方式拖入已打开的启动文件夹中。重启后登录即触发。
用任务计划程序实现开机即执行(含家庭版支持)
此方法不依赖用户登录,适用于需在系统内核初始化完成后立即运行的脚本,比如网络探测、日志归档或服务预检任务。
第一步:按 Win + R 输入 taskschd.msc 回车,打开任务计划程序。
第二步:右侧操作栏点击【创建任务…】(注意不是“基本任务”,高级选项才能设开机触发+最高权限)。
第三步:【常规】页填名称(如“Network-Ready-Check”),勾选“使用最高权限运行”,配置为“Windows 10”。
第四步:【触发器】页点“新建”,开始任务选“当计算机启动时”,建议勾选“延迟任务时间:30秒”——避免与网卡驱动未就绪冲突,否则脚本里调用 ping 或 net use 会直接超时失败。
第五步:【操作】页点“新建”,程序填:powershell.exe;参数填:-ExecutionPolicy Bypass -File "C:\Scripts\check.ps1";起始于填:C:\Scripts\。
第六步:【条件】页取消勾选“只有在计算机使用交流电源时才启动此任务”,确保笔记本电池模式下也能执行。
通过注册表 Run 键值注入启动命令
方法一:仅当前用户生效(推荐初试者使用)
1. 按 Win + R 输入 regedit 回车,以管理员身份运行注册表编辑器。
2. 导航至:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run。
3. 右侧空白处右键 → 新建 → 字符串值,命名为 MyStartupScript。
4. 双击该值,在“数值数据”中填入完整命令:powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -File "D:\Auto\deploy.ps1"。
方法二:对所有用户生效(需谨慎)
导航至:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,其余步骤同上,但必须以管理员身份操作,且【路径中不能含中文或空格,否则命令会截断失效】。
用组策略配置系统级启动脚本(专业版/企业版限定)
该方式在用户登录前、系统服务启动阶段执行,真正意义的“开机脚本”,适合部署域环境下的统一初始化动作。
按下 Win + R 输入 gpedit.msc 回车。若提示找不到程序,说明你用的是家庭版,跳过此节。
依次展开左侧:计算机配置 → Windows 设置 → 脚本(启动/关机) → 双击右侧“启动”。
点击“添加” → “浏览”,选中你的 .bat 或 .ps1 文件。注意:PowerShell 脚本必须提前在管理员 PowerShell 中运行:Set-ExecutionPolicy RemoteSigned -Scope LocalMachine,否则组策略调用时仍会被阻止。
点击“确定”保存,重启后脚本将在 登录界面出现前 运行。











