start-scheduledtask用于手动触发已启用的计划任务,不创建或修改任务。基本语法为start-scheduledtask -taskname "taskname",支持-taskpath指定路径及管道批量执行,需确保任务存在、状态为ready且权限足够。
在 powershell 中,start-scheduledtask 命令用于手动启动一个已存在的计划任务(不改变其调度配置),前提是该任务已启用且权限允许。它不会创建或修改任务,只触发一次立即执行。
确认任务存在且状态正常
运行前先检查目标任务是否已注册、启用且无错误:
- 用 Get-ScheduledTask -TaskName "MyTask" 查看是否存在(注意大小写敏感)
- 检查 State 字段是否为 Ready 或 Running;若为 Disabled,需先用 Enable-ScheduledTask
- 若提示“任务未找到”,可能是任务在子文件夹中,需加 -TaskPath,例如:
Get-ScheduledTask -TaskName "Backup" -TaskPath "\Scripts\"
基本触发语法
最简方式(任务在根目录):
Start-ScheduledTask -TaskName "DailyCleanup"
若任务在自定义路径(如 \MyApp\):
Start-ScheduledTask -TaskName "UpdateCheck" -TaskPath "\MyApp\"
支持管道输入,适合批量触发:
Get-ScheduledTask -TaskName "LogRotate*" | Start-ScheduledTask
常见问题与注意事项
- 权限不足:当前用户必须有执行该任务的权限。系统任务(如位于 \Microsoft\ 下)通常需管理员权限运行 PowerShell
- 触发失败但无报错:检查任务属性中的“配置为”版本(如 Windows 10/Server 2016+ 推荐选“Windows 10”),旧版兼容性可能导致静默失败
- 任务立即退出:可能是操作设置错误(如程序路径不存在、起始位置无效),建议先在任务属性中勾选“运行时请勿启动新实例”,再手动“运行”测试
- 无法触发交互式任务:若任务配置为“仅当用户登录时运行”,且你通过非交互式会话(如远程 PowerShell)调用,可能失败;此时改用“无论用户是否登录都运行”并配置存储凭据











