为 New-ScheduledTaskTrigger 设置 属性 值

Setting property value for New-ScheduledTaskTrigger

我正在尝试使用 PowerShell 创建一个新的计划任务,但我无法更改其中一个属性:Repetition Property CimInstance#Instance Repetition {get;set;}

$action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-c test.ps1"
$trigger = New-ScheduledTaskTrigger -daily -at 10am -DaysInterval 1 
$trigger.DaysInterval = (New-TimeSpan -hours 1)
$trigger.enabled = $true
$trigger.Repetition = (New-TimeSpan -Days 1) #Failing with error

.....

Exception setting "Repetition": "The adapter cannot set the value of property "Repetition"."
At line:1 char:1
+ $trigger.Repetition = 1
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], SetValueInvocationException
    + FullyQualifiedErrorId : CatchFromBaseAdapterSetValue

是否有任何与 New-ScheduledTaskAction 关联的参数可用于通过 cmdlet 更改这些属性?

可以设置这些值,但不能使用 New-ScheduledTaskActionNew-ScheduledTaskTrigger 的重复间隔与参数集名称 Once 相关联。它与 Daily 参数集无关。

要使用这些参数,您需要使用 -Once 而不是 -Daily 定义的不同触发器。例如:

$hourly = (New-TimeSpan -Hours 1)
$days = (New-TimeSpan -Days 30)
$trigger = New-ScheduledTaskTrigger -Once -At 10am -RepetitionInterval $hourly -RepetitionDuration $days

这将定义一个从上午 10 点开始的触发器,并在 30 天内每小时再次触发。