You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell创建计划任务:指定无需登录的运行账户

解决计划任务需登录才能运行的问题

要让计划任务无需用户登录即可运行,你需要指定NT AUTHORITY\SYSTEM账户作为运行主体,并配置对应的登录类型和任务设置。修改后的脚本如下:

# 创建任务动作
$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-File "C:\script.ps1"'

# 创建任务触发器
$trigger = New-ScheduledTaskTrigger -Daily -At 11am

# 配置任务运行主体(使用SYSTEM账户,无需登录)
$principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest

# 配置任务设置:允许未登录时运行,适配电池供电场景(可选)
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable -RunOnlyIfNetworkAvailable:$false

# 注册计划任务(-Force用于覆盖已存在的同名任务)
Register-ScheduledTask -Action $action -Trigger $trigger -Principal $principal -Settings $settings -TaskPath "custom_tasks" -TaskName "customtask" -Force

关键配置说明:

  • New-ScheduledTaskPrincipal:指定UserId为NT AUTHORITY\SYSTEM,这是本地系统级账户,具备足够权限且无需交互式登录;LogonType设为ServiceAccount,对应服务账户的非交互式登录模式,完全满足后台运行需求。
  • New-ScheduledTaskSettingsSet:-AllowStartIfOnBatteries和-DontStopIfGoingOnBatteries确保任务在设备使用电池时也能正常执行;-StartWhenAvailable会在任务错过触发时间后自动补跑,适合SCCM部署的客户端场景。
  • -Force参数:避免因客户端已存在同名任务导致部署失败,直接覆盖现有配置。

配置完成后,计划任务将以SYSTEM账户在后台自动运行,不受当前用户是否登录的影响。

内容的提问来源于stack exchange,提问作者rumcajs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 10:12:07