编写PowerShell计划任务脚本实现Windows 10 1706自动关机
搞定了!满足需求的Windows计划任务PowerShell脚本
先跟你同步下更新说明:之前的问题参考了Hey, Scripting Guy博客的内容解决了,现在已经把代码调整成完全可用的版本啦。
下面是针对你的需求写的脚本,完美适配Windows 10 1706系统:
# 自定义任务名称和每日执行时间(这里设为18:00,你可以按需修改) $taskName = "DailyWorkdayShutdown" $targetTime = "18:00:00" # 创建任务触发器:周一到周五每天指定时间运行,自动唤醒休眠的电脑 $taskTrigger = New-ScheduledTaskTrigger ` -Daily -At $targetTime ` -DaysOfWeek Monday,Tuesday,Wednesday,Thursday,Friday ` -WakeToRun # 创建任务操作:执行PowerShell命令实现本地关机 $taskAction = New-ScheduledTaskAction ` -Execute "powershell.exe" ` -Argument "-Command Stop-Computer -ComputerName localhost -Force" # 配置任务核心设置:忽略锁屏状态、允许唤醒、确保权限足够 $taskSettings = New-ScheduledTaskSettingsSet ` -WakeToRun ` -IgnoreNewState ` # 忽略用户锁屏状态 -RunLevel Highest ` # 以最高权限运行,保证关机命令生效 -StartWhenAvailable ` # 如果错过时间,系统恢复后立即执行 -AllowStartIfOnBatteries ` # 即使在电池模式也允许启动(可选,可根据需求去掉) # 注册计划任务 Register-ScheduledTask ` -TaskName $taskName ` -Trigger $taskTrigger ` -Action $taskAction ` -Settings $taskSettings ` -Description "工作日每日指定时间自动关机,唤醒休眠电脑,忽略锁屏状态"
关键参数说明
- 触发规则:
-DaysOfWeek限定了仅周一到周五运行,-WakeToRun确保电脑处于休眠状态时会被唤醒执行任务 - 关机命令:
Stop-Computer -Force强制执行关机,避免被系统弹窗打断 - 锁屏处理:
-IgnoreNewState参数让任务完全忽略当前用户是否处于锁屏状态,正常执行 - 权限保障:
-RunLevel Highest确保任务拥有足够的系统权限完成关机操作
你只需要修改$targetTime来设置你想要的每日关机时间,修改$taskName自定义任务名称就可以直接用啦!
内容的提问来源于stack exchange,提问作者bajzaadmin




