【发布时间】:2018-04-03 09:38:00
【问题描述】:
大家好
我有一个问题,我不知道如何解决它。
我想要什么:
我想使用 PowerShell 创建计划任务。该任务应每天触发,从早上 5:55 开始,在接下来的 15 小时内,每 30 分钟触发一次。到目前为止一切顺利。
我尝试了什么:
我尝试使用 PowerShell 中的 New-ScheduledTaskTrigger 命令。但是好像有问题。我不能将RepetitionDuration 和RepetitionInterval 与-daily 一起使用。这是我首先尝试的代码:
$taskTrigger = New-ScheduledTaskTrigger -Daily -At 05:55am -RepetitionDuration (New-TimeSpan -Hours 15) -RepetitionInterval (New-TimeSpan -Minutes 30)
这会导致错误,因为这两个参数不能与日常一起使用。正如我通过使用谷歌发现的那样,它们只能与-once 一起使用。但我不想触发一次任务。我想每天触发它。
我看到的可能性:
- 每天使用,每次我想触发它时都创建一个新任务。这对我来说似乎很愚蠢。
实际上,我看不到任何其他可能性。我不确定为什么我不能每天使用这些参数,因为它可以使用 GUI 精确地创建该任务。也许我也不明白“一次”是什么意思,但对我来说,这意味着它只会在一天内触发。第二天,任务将不再执行。
如果有人可以在这里帮助我,我会非常高兴。如果您需要任何进一步的信息,请随时询问。
谢谢。
编辑:
我找到了一种方法来做我正在寻找的事情:
Register-ScheduledTask -Action $taskAction -TaskName $taskName -Trigger $taskTrigger -User $SAUserName -Password $SAPassword -TaskPath "\Citrix MGMT"
Start-Sleep -Seconds 3
$task = Get-ScheduledTask -TaskName "TestTask"
$task.Triggers.repetition.Duration = 'PT15H'
$task.Triggers.repetition.Interval = 'PT30M'
$task | Set-ScheduledTask -User $SAUserName -Password $SAPassword
参考: https://www.petri.com/creating-repeating-powershell-scheduled-jobs https://msdn.microsoft.com/en-us/library/windows/desktop/aa382119%28v=vs.85%29.aspx
【问题讨论】:
标签: powershell scheduled-tasks windows-server-2012-r2 taskscheduler