1. ホーム
  2. powershell

[解決済み] Powershell New-ScheduledTaskTrigger -RepetitionIntervalを使った反復タスクの実行

2022-03-02 16:34:16

質問

ScheduledTaskのcmdlesに関するエラーは、非常に不可解なエラーを出すことが分かってきました。 私は、1分ごとに実行され、永遠に繰り返されるテストタスクをスケジュールしたいです。 以下は私が試していることですが、成功しません。

cls
#$Action = New-ScheduledTaskAction -Execute "e:\Scripts\TestClusteredTask.cmd"
$DurationTimeSpan = New-TimeSpan -Minutes 1 
$DurationTimeSpanIndefinite = ([TimeSpan]::MaxValue) 
$DurationTempTest = New-TimeSpan -Days 1000
$Trigger = New-ScheduledTaskTrigger -Daily -At "00:01" -RepetitionInterval $DurationTimeSpan -RepetitionDuration $DurationTempTest  

は、こんなこともやってみました。

$Trigger = New-ScheduledTaskTrigger -Daily -At "00:01" -RepetitionInterval $DurationTimeSpan -RepeatIndefinitely 

エラー出力です。

New-ScheduledTaskTrigger : Parameter set cannot be resolved using the specified named parameters.
At C:\Users\nwalters\Documents\AddTestClusteredTask.ps1:6 char:12
+ $Trigger = New-ScheduledTaskTrigger -Daily -At "00:01" -RepetitionInterval $Dura ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [New-ScheduledTaskTrigger], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,New-ScheduledTaskTrigger

このウェブページを参考に指示を出しています。 http://technet.microsoft.com/en-us/library/hh849759.aspx

Win 2012/R2 で Powerhsell Version 4 を使用。

解決方法は?

によると テックネット これは、あなたが使っているデータセットです。

Parameter Set: Daily
New-ScheduledTaskTrigger [-Daily] -At <DateTime> [-DaysInterval <Int32> ] [-RandomDelay <TimeSpan> ] [ <CommonParameters>]

あなたの例では -RepetitionInterval-RepetitionDuration の一部である -Once のパラメータセットです。

Parameter Set: Once
New-ScheduledTaskTrigger [-Once] -At <DateTime> [-RandomDelay <TimeSpan> ] [-RepetitionDuration <TimeSpan> ] [-RepetitionInterval <TimeSpan> ] [ <CommonParameters>]

そのため、ambiguityエラーが発生するのです。どのパラメータセットを使用しているのかがわからないのです。

FullyQualifiedErrorId : AmbiguousParameterSet,New-ScheduledTaskTrigger

ということで指定する必要があります。 -Once 他のパラメータを使用する場合