You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

关于通过脚本实现用户自动登录及域环境下GPO启动脚本创建定时重启任务的技术问询

域环境下通过GPO启动脚本创建每日定时重启任务的实现方案

嘿,我来分享下我最近在域环境里落地的每日定时重启方案——通过GPO推送计算机启动脚本,让域内机器一开机就自动创建一个每天23:00执行的重启计划任务。这个方案的核心是用PowerShell脚本创建系统级定时任务,不管用户是否登录都能正常触发重启。

下面是完整的PowerShell脚本代码:

# 定义重启的触发时间(24小时制HH:MM格式)
$triggerTime = "23:00"

# 创建每日触发的任务触发器
$trigger = New-ScheduledTaskTrigger -Daily -At $triggerTime

# 定义任务动作:调用shutdown.exe执行重启命令
$action = New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "/r"

# 设置任务执行主体:使用SYSTEM账户,支持无登录状态执行,且以最高权限运行
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType S4U -RunLevel Highest

# 注册计划任务,设置任务名称和描述
Register-ScheduledTask -TaskName "DailySystemRestart" -Trigger $trigger -Action $action -Principal $principal -Description "每日23:00自动重启,由GPO启动脚本创建"

脚本各部分说明:

  • 触发时间定义:用$triggerTime变量指定重启时间,这里设为23:00,你可以根据需求改成任意时间点。
  • 任务触发器:通过New-ScheduledTaskTrigger创建每日触发规则,确保每天到点就执行任务。
  • 任务动作:调用系统自带的shutdown.exe并传入/r参数,这个参数的作用就是触发计算机重启。
  • 执行主体配置:指定用SYSTEM账户运行任务,S4U登录类型意味着即使没有用户登录,任务也能正常执行;RunLevel Highest确保任务拥有最高系统权限,避免因权限不足导致重启失败。
  • 注册任务:最后用Register-ScheduledTask把前面配置的触发器、动作和主体整合起来,创建一个名为DailySystemRestart的计划任务。

额外注意事项:

  • 要确保GPO的计算机配置中正确添加了这个启动脚本,并且脚本的权限设置允许系统账户读取和执行。
  • 测试阶段可以把$triggerTime改成当前时间后几分钟,重启机器后检查任务是否成功创建并执行。
  • 可以用命令Get-ScheduledTask -TaskName "DailySystemRestart"验证任务是否存在,或者直接打开任务计划程序确认配置细节。

备注:内容来源于stack exchange,提问作者Joaquim Castanyer Vilalta

火山引擎 最新活动