QA@IT

Powershellでタスクスケジューラの実行日のみを変更する方法

10671 PV

WindowsServer2012R2を使用して、タスクスケジューラでスクリプトを設定して運用しています。

そのタスクスケジューラに登録済みのタスクは、月に一度任意の日付で実行させたいため、毎回手動(タスクを右クリック⇒プロパティ⇒トリガー)で起動日を指定してセットしています。

しかし、タスク数が100以上あり今の設定方法では大変なため、スクリプトを作成してやりたいと思っています。
前述にある「起動日を毎月一度任意の日付」というのは、月によって変わってくるので、毎月タスクの起動日を設定する必要があります。

調べると起動日のみを変更するPowershellのコマンドは存在してそうなのですが、今のところ私が見つけたコマンドは、タスクを再登録して行うコマンド?(一度消して再度登録みたいな・・・・)ものでした。
しかし業務の運用上、一度タスクを消すと履歴も消されてしまうので出来れば避けたいと・・・・。

ですので、登録済のタスクが削除されないで起動日のみが変更できるコマンド等を使用してスクリプトを作成したいのです。
(起動日の入力については、毎月確定後に直接ソースコードに入力してからスクリプトを起動する方法で考えています)

どなたかご教示いただけないでしょうか。よろしくお願いいたします。

回答

Set-ScheduledTask cmdletでは、どうでしょうか?

こちらで確認したところでは、履歴は消えませんでした。

$Time = New-ScheduledTaskTrigger -At "2018/02/21 10:00" -Once
Set-ScheduledTask -TaskName [タスク名] -TaskPath [パス] -Trigger $Time -User [ユーザー] -Password [パスワード]
編集 履歴 (0)
  • ありがとうございます!
    検証して見ます!
    -
  • 解決しました。
    ありがとうございました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。