powershell - Powershell计划任务未删除
问题描述
运行以下命令会创建任务并具有正确的设置。设置了“如果任务未计划再次运行,则在 50 秒后将其删除。该命令运行大约需要 10 秒。问题是它实际上从未从任务计划程序中删除任务。
$run = (Get-Date).AddMinutes(1) # Two minutes from now
Register-ScheduledTask -TaskName $taskname -InputObject (
(
New-ScheduledTask -Action (
New-ScheduledTaskAction -Execute "powershell.exe" -Argument (
"C:\Send-HipchatNotification.ps1 -room '$room' -message '$message' -color
'purple' -notify"
)
) -Trigger (
New-ScheduledTaskTrigger -Once -At ($run.TimeOfDay.ToString("hh\:mm"))
# As a "TimeOfDay" to get 24Hr format
) -Settings (
New-ScheduledTaskSettingsSet -DeleteExpiredTaskAfter 00:00:50 #
Delete one second after trigger expires
)
) | %{ $_.Triggers[0].EndBoundary = $run.AddMinutes(60).ToString('s') ; $_
} # Run through a pipe to set the end boundary of the trigger
)`
解决方案
因此,我一直在测试您的脚本是否存在异常,发现任务计划程序中可能存在错误。
我注意到一旦触发器到期,如果您执行
Set-ScheduledTask $taskname
任务被删除。否则,如果任务被单独留下,它将在内存中留下一个幽灵对象。
此外,如果您进入任务计划程序 GUI,并在任务到期后尝试编辑任务,它会给您一个错误,即任务不存在,并将无限期地从内存中删除(大概直到重新启动后,但我没有t 测试了那么远)。
我不确定是否已报告此错误,但要解决它,您可能需要在 Set-ScheduledTask 过期后运行它以删除任务对象。
推荐阅读
- docker - Nginx 静态网页和带有环境变量 url 的 Docker
- python-3.x - 从字节字符串中压缩/解压缩数据
- sql-server - SQL Server 2008 找到最后一个时间戳记录
- python - 如何修复 Python Selenium 无法单击目标元素?
- python-3.x - 如何克服这种情况?
- python-3.x - 访问共享文件夹内的电子表格
- sql - 得到 ORA-30926: 无法在源表中获得一组稳定的行
- c# - 索引超出了我的作业中的数组错误
- python - 等效于 `setup.py` 中的 `--find-links`
- javascript - 如何在映射中将哈希插入我的 url?