タスクスケジューラにタスクをスクリプトで登録

はじめに

新たに100台程のサーバにタスクスケジューラでタスの追加をする作業があった場合、
これ使えば結構楽になるかも?

完璧にメモですけど・・・

'タスクスケジューラにタスクをスクリプトで登録
'Creating_Scheduled_Tasks

Dim Command,StartTime,RunRepeatedly,DaysOfWeek,DaysOfMonth,InteractWithDesktop

'実行するスクリプト ファイルまたは実行可能ファイルへのパス
Command = "notepad"

'JOBを実行するためのUTC(協定世界時)です。
'日本で実行する場合には540分(9時間)を足します
'記載方法はYYYYMMDDHHMMSS.MMMMMM(+-)OOOですが
'YYYYMMDDの部分は********に置き換える必要があります。
StartTime = "********204700.000000+540"

'スケジュール設定されたジョブを繰り返し実行するかどうかを示します。
'繰り返し実行する必要がある場合にはTrueを入力
RunRepeatedly = True
DaysOfWeek = 1 OR 4 OR 16
'スケジュール設定されたジョブを実行する曜日
'
'1 - Monday
'
'2 - Tuesday
'
'4 - Wednesday
'
'8 - Thursday
'
'16 - Friday
'
'32 - Saturday
'
'64 - Sunday
'
'曜日設定を複数入れた場合にはRunRepeatedlyをTrueにするのを忘れずに。

DaysOfMonth = ""
'ジョブを実行する月あたりの日数を指定します

InteractWithDesktop = True
'スケジュール設定されたジョブが対話型で、ウィンドウを表示した状態で実行することを示します。
'このパラメータを False (既定の値) に設定すると、このスクリプトはウィンドウを表示しないで実行されます。

strComputer = "."
Set objService = GetObject("winmgmts:\\" & strComputer)
Set objNewJob = objService.Get("Win32_ScheduledJob")

errJobCreated = objNewJob.Create (Command, StartTime, RunRepeatedly , DaysOfWeek , DaysOfMonth , InteractWithDesktop , JobID)

If Err.Number = 0 Then
Wscript.Echo "New Job ID: " & JobID
Else
Wscript.Echo "エラーが発生しました。: " & errJobCreated
End If