schtasks create

タスクをスケジュールします。

Syntax

schtasks /create /sc <scheduletype> /tn <taskname> /tr <taskrun> [/s <computer> [/u [<domain>\]<user> [/p <password>]]] [/ru {[<domain>\]<user> | system}] [/rp <password>] [/mo <modifier>] [/d <day>[,<day>...] | *] [/m <month>[,<month>...]] [/i <idletime>] [/st <starttime>] [/ri <interval>] [{/et <endtime> | /du <duration>} [/k]] [/sd <startdate>] [/ed <enddate>] [/it] [/np] [/z] [/xml <xmlfile>] [/v1] [/f] [/rl <level>] [/delay <delaytime>] [/hresult]

Parameters

Parameter Description
/sc <scheduletype> スケジュールの種類を指定します。 有効な値は次のとおりです。
  • MINUTE - タスクを実行するまでの分数を指定します。
  • HOURLY - タスクを実行するまでの時間数を指定します。
  • DAILY - タスクを実行するまでの日数を指定します。
  • ウィークリー タスクを実行するまでの週数を指定します。
  • MONTHLY - タスクを実行するまでの月数を指定します。
  • ONCE - そのタスクが指定された日時に 1 回実行されることを指定します。
  • ONSTART - システムが起動するたびにタスクが実行されることを指定します。 開始日を指定したり、次回のシステムが起動されたときにタスクを実行することができます。
  • ONLOGON - ユーザー (任意のユーザー) がログオンするたびにタスクが実行されることを指定します。 日付を指定したり、次に、ユーザーがログオンしたときにタスクを実行することができます。
  • ONIDLE - システムが指定された期間アイドル状態になるたびにタスクが実行されることを指定します。 日付を指定したり、次回のシステムがアイドル状態のタスクを実行できます。
  • ONEVENT - EventID を含むシステム イベント ログの情報に一致するイベントに基づいてタスクを実行することを指定します。
/tn <Taskname> タスクの名前を指定します。 システム上の各タスクは一意の名前を持ち、ファイル名の規則に従っている必要があります。また、238 文字を超えてはいけません。 スペースが含まれる名前を囲む引用符を使用します。 スケジュールされたタスクを別のフォルダーに保存するには、 /tn<folder name\task name> を実行します。
/tr <Taskrun> プログラムまたはタスクを実行するコマンドを指定します。 実行可能ファイル、スクリプト ファイルまたはバッチ ファイルの完全修飾パスとファイル名を入力します。 パス名は 262 文字を超えない必要があります。 パスを追加しない場合、 schtasks はファイルが <systemroot>\System32 ディレクトリにあると見なします。
/s <computer> (または円記号なし) の名前またはリモート コンピューターの IP アドレスを指定します。 既定値はローカル コンピューターです。
/u [<domain>] 指定したユーザー アカウントのアクセス許可を持つには、このコマンドを実行します。 既定では、ローカル コンピューターの現在のユーザーのアクセス許可です。 /u パラメーターと /p パラメーターは、/s を使用する場合にのみ有効です。 指定したアカウントのアクセス許可は、タスクをスケジュールして、タスクの実行に使用されます。 別のユーザーのアクセス許可でタスクを実行するには、 /ru パラメーターを使用します。 ユーザー アカウントは、リモート コンピューターの Administrators グループのメンバーである必要があります。 また、ローカル コンピューターでは、リモート コンピューターと同じドメインに存在する必要があります。 または、リモート コンピューターのドメインによって信頼されているドメインに存在する必要があります。
/p <password> /u パラメータで指定されたユーザー アカウントのパスワードを指定します。 /p パラメータまたはパスワード引数を指定せずに /u パラメータを使用すると、schtasks はパスワードの入力を求めます。 /u パラメーターと /p パラメーターは、/s を使用する場合にのみ有効です。
/ru {[<domain>]<user> | system} 指定したユーザー アカウントのアクセス許可で、タスクを実行します。 既定では、タスクは、ローカル コンピューターの現在のユーザーのアクセス許可、または /u パラメーターで指定されたユーザーのアクセス許可 (含まれている場合) で実行されます。 /ru パラメーターは、ローカル コンピューターまたはリモート コンピューターでタスクをスケジュールする場合に有効です。 有効なオプションは次のとおりです。
  • ドメイン - 代替ユーザー アカウントを指定します。
  • システム - ローカル システム アカウント (オペレーティング システムおよびシステム サービスで使用される高い特権アカウント) を指定します。
/rp <password> 既存のユーザー アカウント、または /ru パラメーターで指定されたユーザー アカウントのパスワードを指定します。 ユーザー アカウントを指定するときにこのパラメーターを使用しない場合、SchTasks.exe では、次回のサインイン時にパスワードの入力を求めるメッセージが表示されます。 システム アカウントの資格情報 (/ru System) で実行されるタスクには、/rp パラメーターを使用しないでください。 システム アカウントにはパスワードがないため、SchTasks.exe で要求メッセージが表示されません。
/月 <modifiers> タスクのスケジュールの種類を実行する頻度を指定します。 有効なオプションは次のとおりです。
  • MINUTE - タスクが <n> 分ごとに実行されるように指定します。 1 分から 1439 分までの範囲の任意の値を使用できます。 既定値は 1 分です。
  • HOURLY - タスクが <n> 時間ごとに実行されることを指定します。 1 時間から 23 時間までの範囲の任意の値を使用できます。 既定値は 1 時間です。
  • DAILY - タスクが <n> 日ごとに実行されるように指定します。 1 日から 365 日までの範囲の任意の値を使用できます。 既定値は 1 日です。
  • WEEKLY - タスクが <n> 週間ごとに実行されることを指定します。 1 週間から 52 週間までの範囲の任意の値を使用できます。 既定値は 1 週間です。
  • MONTHLY - タスクが <n> か月ごとに実行されるように指定します。 次のいずれかの値を使うことができます。
    • 1 ~ 12 の数値
    • LASTDAY - 月の最終日にタスクを実行するには
    • FIRST、SECOND、THIRD、または FOURTH および /d <day> パラメーター - タスクを実行する特定の週と曜日を指定します。 [月の第 3 水曜日にします。
  • ONCE - タスクが 1 回実行されることを指定します。
  • ONSTART - タスクが起動時に実行されることを指定します。
  • ONLOGON - /ru パラメーターで指定されたユーザーがログオンしたときにタスクが実行されることを指定します。
  • ONIDLE - / i パラメーターで指定された分数の間、システムがアイドル状態になった後にタスクが実行されることを指定します
/d DAY[,DAY...] タスクのスケジュールの種類を実行する頻度を指定します。 有効なオプションは次のとおりです。
  • WEEKLY - 1 週間から 52 週間までの値を指定して、タスクが毎週実行されることを指定します。 必要に応じて、MON から SUN までの値または [MON - SUN...] の範囲を追加して、特定の曜日を追加することもできます。
  • MONTHLY - FIRST, SECOND, THIRD, FOURTH, LAST の値を指定して、タスクが毎月毎週実行されるように指定します。 必要に応じて、MON から SUN までの値を追加して特定の曜日を追加するか、1 から 12 までの月の数値を指定することもできます。 このオプションを使用する場合は、1 から 31 までの範囲の数値を指定して、月の特定の日付を追加することもできます。

    手記: 日付値 1 から 31 は、 /mo パラメーターがない場合、または /mo パラメーターが月次 (1 から 12) の場合にのみ有効です。 既定では 1 日 1 (月の最初の日です)。

/m MONTH[,MONTH...] 1 か月またはスケジュールされたタスクを実行する年の月を指定します。 有効なオプションには、JAN から DEC と * (毎月) があります。 /m パラメーターは、MONTHLY スケジュールでのみ有効です。 これは LASTDAY 修飾子を使用する場合に必要です。 それ以外の場合は省略可能で、既定値は * (毎月) です。
/私 <Idletime> 時間を分単位、コンピューターがアイドル状態、タスクが開始される前に指定します。 有効な値は、1 から 999 の整数です。 このパラメーターは ONIDLE スケジュールでのみ有効で、その場合に必須です。
/st <Starttime> 24 時間形式、HH:mm を使用して、タスクの開始時刻を指定します。 既定値は、ローカル コンピューターの現在の時刻です。 /st パラメーターは、MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、および ONCE スケジュールで有効です。 これは ONCE スケジュールで必須です。
/ri <interval> スケジュールされたタスクの繰り返し間隔を分単位で指定します。 これは MINUTE、HOURLY、ONSTART、ONLOGON、ONIDLE、ONEVENT のスケジュールの種類には適用されません。 有効な範囲は、1-599940 (599940 分 = 9999 時間) です。 /et または /du パラメーターのいずれかが指定されている場合、デフォルトは 10 分です。
/et <Endtime> 分単位または時間単位のタスクのスケジュールが終了する時刻を 24 時間形式 <HH:MM> で指定します。 指定した終了時刻より後 schtasks を再開しませんタスク開始時刻になるまでです。 既定では、タスクのスケジュールの終了時刻はあるありません。 このパラメーターは、オプションであり、1 分または 1 時間ごとのスケジュールでのみ有効です。
/du <duration> 分単位または時間単位のスケジュールの時間の最大長を 24 時間形式 <HHHH:MM> で指定します。 指定した時間が経過後 schtasks を再開しませんタスク開始時刻になるまでです。 既定では、タスクのスケジュール時間が指定されていない最大です。 このパラメーターは、オプションであり、1 分または 1 時間ごとのスケジュールでのみ有効です。
/k /et または /du で指定された時間にタスクが実行するプログラムを停止します。 /k がないと、schtasks は /et または /du で指定された時間に達した後にプログラムを再開せず、プログラムがまだ実行されている場合はプログラムを停止しません。 このパラメーターは、オプションであり、1 分または 1 時間ごとのスケジュールでのみ有効です。
/sd <Startdate> タスクのスケジュールが開始する日付を指定します。 既定値は、ローカル コンピューター上の現在の日付です。 [開始日] の形式は、[地域および言語オプション] でローカル コンピューターに対して選択したロケールによって異なります。 1 つだけの形式では、ロケールごとに有効です。 有効な日付形式には、次のものがあります (ローカル コンピューターの [地域および言語オプション] の [短い日付] で選択した形式に最も類似した形式を選択してください)。
  • <MM>// - 英語 (米国) やスペイン語 (パナマ) などの月が最初の形式の使用を指定します。
  • <DD>// - ブルガリア語やオランダ語 (オランダ) などの日付が最初の形式を指定します。
  • <YYYY>// - スウェーデン語やフランス語 (カナダ) などの年が最初の形式を指定します。
/ed <Enddate> スケジュールが終了する日付を指定します。 このパラメーターは省略可能です。 これは ONCE、ONSTART、ONLOGON、ONIDLE、ONEVENT スケジュールでは有効ではありません。 既定では、スケジュールの終了日はあるありません。 既定値は、ローカル コンピューター上の現在の日付です。 終了日の形式は、[地域および言語オプション] でローカル コンピューターに選択したロケールによって異なります。 1 つだけの形式では、ロケールごとに有効です。 有効な日付形式には、次のものがあります (ローカル コンピューターの [地域および言語オプション] の [短い日付] で選択した形式に最も類似した形式を選択してください)。
  • <MM>// - 英語 (米国) やスペイン語 (パナマ) などの月が最初の形式の使用を指定します。
  • <DD>// - ブルガリア語やオランダ語 (オランダ) などの日付が最初の形式を指定します。
  • <YYYY>// - スウェーデン語やフランス語 (カナダ) などの年が最初の形式を指定します。
/ECの <channelname> システム イベント ログの条件に一致する ONEVENT スケジュールの種類によってトリガーされるイベント チャネル名を指定します。
/it 実行ユーザー (タスクを実行するときのユーザー アカウント) がコンピューターにログオンしている場合のみ、スケジュールされたタスクを実行するように指定します。 このパラメーターには、システムのアクセス許可で実行するタスクまたは対話型のみプロパティが設定されているタスクへの影響はありません。 変更コマンドを使用して、対話型のみプロパティをタスクから削除することはできません。 既定では、実行 ユーザー は、タスクがスケジュールされているときのローカル コンピューターの現在のユーザー、 または /u パラメーターで指定されたアカウント (使用されている場合) です。 ただし、コマンドに /ru パラメーターが含まれている場合、実行ユーザーは /ru パラメーターで指定されたアカウントです。
/np パスワードは保存されません。 タスクは、指定されたユーザーとして非対話形式で実行されます。 使用できるのはローカル リソースのみです。
/z スケジュールの終了時のタスクを削除するよう指定します。
/xml <xmlfile> XML ファイルで指定されたタスクを作成します。 / ru パラメーターと /rp パラメーター、または XML ファイルにユーザー アカウント情報が既に含まれている場合は、単独で /rp パラメーターと組み合わせることができます。
/v1 Vista より前のオペレーティング システムに表示されるタスクを作成します。 これは、 /XML パラメーターと互換性がありません。
/f タスクを作成し、指定したタスクが既に存在する場合に警告を抑制するように指定します。
/rl <level> ジョブの実行レベルを指定します。 許容される値は、 LIMITED (スケジュールされたタスクは、標準ユーザーアカウントなどの最低レベルの権限で実行されます) と HIGHEST (スケジュールされたタスクは、スーパーユーザーアカウントなどの最高レベルの権限で実行されます) です。 デフォルト値は [制限付き] です。
/遅延 <delaytime> mmmm:ss 形式でトリガーされた後にタスクの実行を遅らせる待機時間を指定します。 これは、ONSTART、ONLOGON、ONEVENT のスケジュールの種類に対してのみ有効です。
/hresult プロセス終了コードを HRESULT 形式で指定します。
/? コマンド プロンプトにヘルプを表示します。

タスクを <n> 分ごとに実行するようスケジュールするには

分スケジュールでは、 /sc minute パラメーターが必要です。 /mo (修飾子) パラメーターは省略可能で、タスクの各実行間の分数を指定します。 /mo の既定値は 1 (毎分) です。 /et (終了時刻) パラメーターと /du (期間) パラメーターは省略可能であり、/k (終了タスク) パラメーターの有無にかかわらず使用できます。

Examples

  • セキュリティ スクリプト Sec.vbs を 20 分ごとに実行するようにスケジュールするには、次のように入力します。

    schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs
    

    この例には開始する日付または時刻が含まれていないため、タスクはコマンドが完了した 20 分後に開始し、システムが実行されていれば、その後 20 分ごとに実行されます。 セキュリティ スクリプトのソース ファイルがリモート コンピューターに格納されているが、タスクがスケジュールされており、ローカル コンピューターで実行されことに注意してください。

  • セキュリティ スクリプト Sec.vbs を、毎日午後 5:00 から午前 7:59 までの間に 100 分ごとにローカル コンピュータで実行するようにスケジュールするには、次のように入力します。

    schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k
    

    この例では、 /sc パラメーターを使用して分単位のスケジュールを指定し、 /mo パラメーターを使用して 100 分の間隔を指定します。 /st パラメーターと /et パラメーターを使用して、各日のスケジュールの開始時刻と終了時刻を指定します。 また、 /k パラメーターを使用して、スクリプトが午前 7 時 59 分にまだ実行されている場合はスクリプトを停止します。 /k がないと、schtasks は午前 7 時 59 分以降にスクリプトを開始しませんが、午前 6 時 20 分に開始されたインスタンスがまだ実行されている場合は、スクリプトは停止しません。

タスクを <n> 時間ごとに実行するようスケジュールするには

時間単位のスケジュールでは、 /sc 時間単位 のパラメーターが必要です。 /mo (修飾子) パラメーターは省略可能で、タスクの各実行間の時間数を指定します。 /mo のデフォルト値は 1 (毎時) です。 /k (タスクの終了) パラメーターはオプションであり、/et (指定された時刻に終了) または /du (指定された間隔後に終了) のいずれかで使用できます。

Examples

  • MyApp プログラムを 2002 年 3 月の最初の日から 5 時間ごとに実行するようスケジュールするには、次のように入力します。

    schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe
    

    この例では、ローカル コンピューターは [地域と言語のオプション][英語 (ジンバブエ)] オプションを使用するため、開始日の形式は MM/DD/YYYY (03/01/2002) です。

  • MyApp プログラムを、深夜 0 時を 5 分過ぎてから 1 時間ごとに実行するようスケジュールするには、次のように入力します。

    schtasks /create /sc hourly /st 00:05 /tn MyApp /tr c:\apps\myapp.exe
    
  • MyApp プログラムを 3 時間ごとに実行し、合計 10 時間実行するようにスケジュールするには、次のように実行します。

    schtasks /create /tn MyApp /tr MyApp.exe /sc hourly /mo 3 /st 00:00 /du 0010:00
    

    この例では、タスクは午前 12 時 00 分、午前 3 時 00 分、午前 6 時 00 分、および午前 9 時 00 分に実行されます。期間は 10 時間であるため、タスクは午後 12 時 00 分に再実行されません。代わりに、翌日の午前 12 時 00 分に再開します。 また、プログラムは数分間しか実行されないため、期間が経過してもプログラムがまだ実行されている場合にプログラムを停止する /k パラメーターは必要ありません。

タスクを <n> 日ごとに実行するようスケジュールするには

日次スケジュールでは、 /sc daily パラメーターが必要です。 /mo (修飾子) パラメーターは省略可能で、タスクの各実行間の日数を指定します。 /mo の既定値は 1 (毎日) です。

Examples

  • MyApp プログラムを 2021 年 12 月 31 日まで 1 日 1 回毎日午前 8 時 00 分に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /st 08:00 /ed 31/12/2021
    

    この例では、ローカル コンピューターのシステムが、 [地域と言語のオプション][英語 (英国)] オプションに設定されているため、終了日の形式は、DD/MM/YYYY (31/12/2021) です。 さらに、この例には /mo パラメーターが含まれていないため、既定の間隔 1 を使用してコマンドを毎日実行します。

  • MyApp プログラムを 2021 年 12 月 31 日から 12 日ごとに午後 1 時 00 分 (13:00) に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00
    

    この例では、システムが [地域および言語オプション] で [英語 (ジンバブエ)] オプションに設定されているため、終了日の形式は MM/DD/YYYY (2021 年 12 月 31 日) です。

  • セキュリティ スクリプト Sec.vbs を 70 日ごとに実行するようにスケジュールするには、次のように入力します。

    schtasks /create /tn "Security Script" /tr sec.vbs /sc daily /mo 70 /it
    

    この例では、 /it パラメーターを使用して、タスクが実行されているアカウントを持つユーザーがコンピューターにログオンしている場合にのみタスクが実行されるように指定します。 タスクは特定のユーザー アカウントのアクセス許可を使用して実行されるため、このタスクは、そのユーザーがログオンしている場合にのみ実行されます。

    Note

    対話型のみ (/it) プロパティを使用してタスクを識別するには、詳細クエリ (/query /v) を使用します。 /it を含むタスクの詳細クエリ表示では、[ ログオン モード] フィールドの値は [対話型のみ] になります。

タスクを <n> 週間ごとに実行するようスケジュールするには

週単位のスケジュールでは、 /sc weekly パラメーターが必要です。 /mo (修飾子) パラメーターは省略可能で、タスクの各実行間の週数を指定します。 /mo のデフォルト値は 1 (毎週) です。

週次スケジュールには、指定された曜日またはすべての曜日にタスクを実行するようにスケジュールするためのオプションの /d パラメーターもあります ()。 デフォルトは MON (月曜日) です。 毎日 () オプションは、毎日のタスクをスケジュール設定に相当します。

Examples

  • MyApp プログラムを 6 週間ごとにリモート コンピューターで実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 6 /s Server16 /u Admin01
    

    この例では /d パラメーターが省略されているため、タスクは月曜日に実行されます。 この例では、 /s パラメーターを使用してリモート コンピューターを指定し、 /u パラメーターを使用してユーザーの管理者アカウントのアクセス許可でコマンドを実行します。 また、 /p パラメータが省略されているため、SchTasks.exe は管理者アカウントのパスワードの入力を求め、コマンドはリモートで実行されるため、MyApp.exeへのパスを含むコマンド内のすべてのパスは、リモート コンピュータ上のパスを参照します。

  • タスクを隔週の金曜日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI
    

    この例では、 /mo パラメーターを使用して 2 週間の間隔を指定し、 /d パラメーターを使用して曜日を指定します。 毎週金曜日に実行されるタスクをスケジュールするには、 /mo パラメーターを省略するか、 1 に設定します。

タスクを <n> か月ごとに実行するようスケジュールするには

このスケジュールタイプでは、 /sc 月次 パラメータが必要です。 タスクの各実行間の月数を指定する /mo (修飾子) パラメーターはオプションで、既定値は 1 (毎月) です。 このスケジュールの種類には、指定された日付にタスクを実行するようにスケジュールするためのオプションの /d パラメーターもあります。 デフォルトは 1 (月の最初の日) です。

Examples

  • MyApp プログラムを毎月 1 日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr myapp.exe /sc monthly
    

    /mo (修飾子) パラメーターと /d (日) パラメーターの両方の既定値は 1 であるため、この例ではこれらのパラメーターのいずれかを使用する必要はありません。

  • MyApp プログラムを 3 か月ごとに実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo 3
    

    この例では、 /mo パラメーターを使用して 3 か月の間隔を指定します。

  • MyApp プログラムを 2002 年 7 月 2 日から 2003 年 6 月 30 日までの 1 年間、1 か月おきに 21 日の深夜 0 時に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo 2 /d 21 /st 00:00 /sd 2002/07/01 /ed 2003/06/30
    

    この例では、 /mo パラメーターを使用して月間隔 (2 か月ごと) を指定し、 /d パラメーターを使用して日付を指定し、 /st パラメーターを使用して時刻を指定し、 /sd パラメーターと /ed パラメーターを使用して開始日と終了日をそれぞれ指定します。 この例では、ローカル コンピューターが、 [地域と言語のオプション][英語 (南アフリカ)] オプションに設定されているため、日付は現地形式 YYYY/MM/DD で指定されまです。

週の特定の曜日に実行するようタスクをスケジュールするには

曜日のスケジュールは、週単位のスケジュールの一種です。 週単位のスケジュールでは、 /sc weekly パラメーターが必要です。 /mo (修飾子) パラメーターは省略可能で、タスクの各実行間の週数を指定します。 /mo のデフォルト値は 1 (毎週) です。 オプションの /d パラメーターは、指定された曜日またはすべての曜日 (*) にタスクを実行するようにスケジュールします。 デフォルトは MON (月曜日) です。 毎日のオプション ((/d *)) は、毎日のタスクをスケジュール設定することに相当します。

Examples

  • MyApp プログラムを毎週水曜日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /d WED
    

    この例では、 /d パラメーターを使用して曜日を指定します。 このコマンドでは /mo パラメーターが省略されるため、タスクは毎週実行されます。

  • タスクを 8 週ごとに月曜日と金曜日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 8 /d MON,FRI
    

    この例では、 /d パラメーターを使用して曜日を指定し、 /mo パラメーターを使用して 8 週間の間隔を指定します。

月の特定の週に実行するタスクをスケジュールするには

このスケジュールの種類では、 /sc 月次 パラメーター、 /mo (修飾子) パラメーター、および /d (日) パラメーターが必要です。 /mo (修飾子) パラメーターは、タスクが実行される週を指定します。 /d パラメーターは曜日を指定します。 このスケジュールの種類では、週の 1 日だけを指定することができます。 このスケジュールには、特定の月または毎月 (*) にタスクをスケジュールできるオプションの /m (月) パラメーターもあります。 /m パラメーターの既定値は毎月 (*) です。

Examples

  • MyApp プログラムを毎月第 2 日曜日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo SECOND /d SUN
    

    この例では、 /mo パラメーターを使用して月の第 2 週を指定し、 /d パラメーターを使用して日を指定します。

  • MyApp プログラムを 3 月と 9 月の最初の月曜日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo FIRST /d MON /m MAR,SEP
    

    この例では、 /mo パラメーターを使用して月の最初の週を指定し、 /d パラメーターを使用して日を指定します。 /m パラメーターを使用して月を指定し、月引数をカンマで区切ります。

各月の特定の日に実行するようタスクをスケジュールするには

このスケジュールタイプでは、 /sc 月次 パラメータと /d (日) パラメータが必要です。 /d パラメーターは、曜日ではなく月の日付 (1 から 31) を指定し、スケジュールで指定できるのは 1 日だけです。 /m (月) パラメーターは省略可能で、既定値は毎月 () ですが、/mo (修飾子) パラメーターはこのスケジュールの種類では無効です。

Schtasks.exe では、 /m パラメーターで指定された月以外の日付のタスクをスケジュールすることはできません。 たとえば、2 月 31 日をスケジュールしようとしたとします。 ただし、 /m パラメーターを使用せず、毎月表示されない日付にタスクをスケジュールすると、タスクは短い月では実行されません。 月の最後の日のタスクをスケジュールするには、最後の日のスケジュールの種類を使用します。

Examples

  • MyApp プログラムを毎月 1 日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly
    

    既定の修飾子は none (修飾子なし) であるため、このコマンドは、追加のパラメーターを必要とせずに、既定の日 1 と既定の月を 毎月使用します。

  • MyApp プログラムを 5 月 15 日と 6 月 15 日の午後 3 時 00 分 (15:00) に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /m MAY,JUN /st 15:00
    

    この例では、 /d パラメーターを使用して日付を指定し、 /m パラメーターを使用して月を指定します。 また、 /st パラメーターを使用して開始時刻を指定します。

1 か月の最終日に実行するタスクをスケジュールするには

最終日スケジュール・タイプでは、 /sc 月次 パラメータ、 /mo LASTDAY (修飾子) パラメータ、および /m (月) パラメータが必要です。 /d (日) パラメーターが無効です。

Examples

  • MyApp プログラムを毎月最終日に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo lastday /m *
    

    この例では、 /mo パラメーターを使用して最終日を指定し、 /m パラメーターにワイルドカード文字 (*) を使用して、プログラムが毎月実行されることを示します。

  • MyApp プログラムを 2 月の最終日と 3 月の最終日の午後 6 時 00 分に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo lastday /m FEB,MAR /st 18:00
    

    この例では、 /mo パラメーターを使用して最終日を指定し、 /m パラメーターを使用して月を指定し、 /st パラメーターを使用して開始時刻を指定します。

1 回実行するようスケジュールするには

実行 1 回スケジュールの種類では、 /sc once パラメーターが必要です。 タスクの実行時間を指定する /st パラメーターは必須です。 タスクが実行される日付を指定する /sd パラメーターは省略可能ですが、 /mo (修飾子) パラメーターと /ed (終了日) パラメーターは無効です。

ローカル コンピューターの時刻に基づいて、指定した日付と時刻が過去のものである場合、schtasks ではタスクを 1 回実行するようにスケジュールを設定できません。 別のタイム ゾーンにあるリモート コンピューターに 1 回実行するタスクをスケジュールする必要がありますスケジュールを設定する日付より前にし、時間が、ローカル コンピューターで発生します。

Example

  • MyApp プログラムを 2003 年 1 月 1 日の深夜 0 時に実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00
    

    この例では、 /sc パラメーターを使用してスケジュールの種類を指定し、 /sd パラメーターと /st パラメーターを使用して日付と時刻を指定します。 この例では、ローカル コンピューターでは [地域と言語のオプション][英語 (米国)] オプションが設定されているため、開始日の形式は、MM/DD/YYYY です。

システムを開始するたびに実行するタスクをスケジュールするには

on-start スケジュールタイプでは、 /sc onstart パラメーターが必要です。 /sd (開始日) パラメーターは省略可能で、既定値は現在の日付です。

Example

  • システムが起動するごとに MyApp プログラムを実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart
    

    この例では、ローカル コンピューターでは [地域と言語のオプション][英語 (米国)] オプションが設定されているため、開始日の形式は、MM/DD/YYYY です。

ユーザーがログオンしたときに実行されるようタスクをスケジュールするには

ログオン時のスケジュールの種類は、いずれかのユーザーがコンピューターにログオンするたびに実行されるタスクをスケジュールします。 ログオン時スケジュールの種類では、 /sc onlogon パラメーターが必要です。 /sd (開始日) パラメーターは省略可能で、既定値は現在の日付です。

Example

  • ユーザーがリモート コンピューターにログオンするときに実行されるタスクをスケジュールするには、次のように入力します。

    schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23
    

    この例では、ユーザー (すべてのユーザー) がリモート コンピューターにログオンするたびにバッチ ファイルを実行するようスケジュールします。 /s パラメーターを使用して、リモート コンピューターを指定します。 コマンドは、リモートであるため、コマンドをバッチ ファイルへのパスなどのすべてのパスをリモート コンピューター上のパスを参照してください。

システムがアイドル状態のときに実行されるタスクをスケジュールするには

アイドル時スケジュールタイプは、 /i パラメーターで指定された時間内にユーザー アクティビティがないたびに実行されるタスクをスケジュールします。 オンアイドルスケジュールタイプでは、 /sc onidle パラメーターと /i パラメーターが必要です。 /sd (開始日) はオプションで、デフォルトは現在の日付です。

Example

  • コンピューターがアイドル状態になるたびに MyApp プログラムを実行するようスケジュールを設定するには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10
    

    この例では、必須の /i パラメータを使用して、タスクが開始される前にコンピュータを 10 分間アイドル状態に保つ必要があることを指定します。

今すぐ実行するようタスクをスケジュールするには

schtasks には「今すぐ実行」オプションはありませんが、数分後に開始して 1 回実行するタスクを作成することで、そのオプションをシミュレートすることができます。

Example

  • タスクを 2020 年 11 月 13 日午後 2 時 18 分 (現地時刻) に 1 回実行するようスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /st 14:18 /sd 11/13/2002
    

    この例では、ローカル コンピューターでは [地域と言語のオプション][英語 (米国)] オプションが設定されているため、開始日の形式は、MM/DD/YYYY です。

別のアクセス許可で実行するタスクのスケジュールを設定する

ローカルとリモート コンピューターの両方で、別のアカウントの権限で実行するあらゆる種類のタスクをスケジュールすることができます。 特定のスケジュール・タイプに必要なパラメーターに加えて、 /ru パラメーターは必須であり、 /rp パラメーターはオプションです。

Examples

  • MyApp プログラムをローカル コンピューターで実行するには、次のように入力します。

    schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06
    

    この例では、 /ru パラメーターを使用して、ユーザーの管理者アカウント (Admin06) のアクセス許可でタスクを実行するように指定します。 またこの例では、タスクは毎週火曜日に実行するようにスケジュールされていますが、代替のアクセス許可で実行するタスクに、あらゆるスケジュールの種類を使用することができます。

    応答として、SchTasks.exe は Admin06 アカウントの実行パスワードの入力を求め、成功メッセージを表示します。

    Please enter the run as password for Admin06: ********
    SUCCESS: The scheduled task MyApp has successfully been created.
    
  • マーケティング コンピューターで MyApp プログラムを 4 日ごとに実行するには、次のように入力します。

    schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01
    

    この例では、 /sc パラメーターを使用して日次スケジュールを指定し、 /mo パラメーターを使用して 4 日間の間隔を指定します。 さらに、この例では、 /s パラメーターを使用してリモート コンピューターの名前を提供し、 /u パラメーターを使用して、リモート コンピューター (Marketing コンピューターでは Admin01) でタスクをスケジュールするアクセス許可を持つアカウントを指定します。 最後に、この例では /ru パラメーターを使用して、ユーザーの管理者以外のアカウント (Reskits ドメインの User01) のアクセス許可でタスクを実行するように指定します。 /ru パラメーターを使用しない場合、タスクは /u で指定されたアカウントのアクセス許可で実行されます。

    この例を実行すると、Schtasks は最初に /u パラメーターで指定されたユーザーのパスワードを要求し (コマンドを実行するため)、次に /ru パラメーターで指定されたユーザーのパスワードを要求します (タスクを実行します)。 パスワードを認証した後、schtasks では、タスクがスケジュールされたことを示すメッセージが表示されます。

    Type the password for Marketing\Admin01:********
    Please enter the run as password for Reskits\User01: ********
    SUCCESS: The scheduled task MyApp has successfully been created.
    
  • 毎週金曜日の午前 4:00 にパブリック コンピューターで実行されるように AdminCheck.exe プログラムを実行するには、コンピューターの管理者がログオンしている場合に限ります。

    schtasks /create /tn "Check Admin" /tr AdminCheck.exe /sc weekly /d FRI /st 04:00 /s Public /u Domain3\Admin06 /ru Public\Admin01 /it
    

    この例では、 /sc パラメーターを使用して週単位のスケジュールを指定し、 /d パラメーターを使用して日を指定し、 /st パラメーターを使用して開始時刻を指定します。 また、 /s パラメーターを使用してリモート コンピューターの名前を指定し、 /u パラメーターを使用してリモート コンピューターでタスクをスケジュールするアクセス許可を持つアカウントを指定し、 /ru パラメーターを使用してパブリック コンピューター (Public\Admin01) の管理者のアクセス許可でタスクを実行するように構成し、/ it パラメーターを使用して Public\Admin01 アカウントがログオンしている場合にのみタスクが実行されることを示します。

    Note

    対話型専用 (/it) プロパティでタスクを識別するには、詳細クエリ (/query /v) を使用します。 /it を含むタスクの詳細クエリ表示では、[ログオン モード] フィールドの値は [対話型のみ] になります。

システムのアクセス許可で実行するタスクのスケジュールを設定する

すべての種類のタスクは、ローカル コンピューターとリモート コンピューターの両方で システム アカウントのアクセス許可を使用して実行できます。 特定のスケジュールの種類に必要なパラメーターに加えて、 /ru システム (または /ru) パラメーターが必要ですが、 /rp パラメーターは無効です。

Important

システム アカウントには対話型ログオン権限がありません。 ユーザーは、システムのアクセス許可で実行されているプログラムやタスクを表示したり、それを操作したりすることはできません。 /ru パラメーターは、タスクのスケジュールに使用されるアクセス許可ではなく、タスクを実行するアクセス許可を決定します。 / ru パラメーターの値に関係なく、管理者のみがタスクをスケジュールできます。

システムのアクセス許可で実行するタスクを識別するには、詳細クエリ (/query /v) を使用します。 システムの実行タスクの詳細なクエリ画面では、 ユーザーとして実行 フィールドの値を持つ NT authority \systemログオン モード フィールドの値を持つ だけバック グラウンドします。

Examples

  • システム アカウントのアクセス許可を持つローカル コンピューターで MyApp プログラムを実行するようにスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System
    

    この例では、毎月の第 15 日に実行するタスクがスケジュールされているが、システムのアクセス許可で実行するタスクにどの種類のスケジュールを使用することができます。 さらに、この例では /ru System パラメーターを使用して、システム セキュリティ コンテキストを指定します。 システム タスクはパスワードを使用しないため、 /rp パラメーターは省略されます。

    応答として、SchTasks.exe ではパスワードを求めることなく、情報メッセージと成功メッセージが表示されます。

    INFO: The task will be created under user name (NT AUTHORITY\SYSTEM).
    SUCCESS: The Scheduled task MyApp has successfully been created.
    
  • システム権限を使用して、毎朝午前 4:00 に Finance01 コンピューターで MyApp プログラムを実行するようにスケジュールするには、次のように入力します。

    schtasks /create /tn MyApp /tr myapp.exe /sc daily /st 04:00 /s Finance01 /u Admin01 /ru System
    

    この例では、/tn パラメーターを使用してタスクに名前を付け、/tr パラメーターを使用して MyApp プログラムのリモート コピーを指定し、/sc パラメーターを使用して日次スケジュールを指定しますが、1 (毎日) が既定値であるため、/mo パラメーターは省略します。 また、この例では、 /st パラメーターを使用して開始時刻 (タスクが毎日実行される時刻でもある)、/ s パラメーターを使用してリモート コンピューターの名前を指定し、 /u パラメーターを使用してリモート コンピューターでタスクをスケジュールするアクセス許可を持つアカウントを指定し、 /ru パラメーターを使用してタスクをシステム アカウントで実行するように指定します。 /ru パラメーターを使用しない場合、タスクは /u パラメーターで指定されたアカウントのアクセス許可を使用して実行されます。

    Schtasks.exe は、 /u パラメーターで指定されたユーザーのパスワードを要求し、パスワードを認証した後、タスクが作成され、 システム アカウントのアクセス許可で実行されることを示すメッセージを表示します。

    Type the password for Admin01:**********
    
    INFO: The Schedule Task MyApp will be created under user name (NT AUTHORITY\
    SYSTEM).
    SUCCESS: The scheduled task MyApp has successfully been created.
    

複数のプログラムを実行するタスクをスケジュールするのには

各タスクは、1 つだけのプログラムを実行します。 ただし、複数のプログラムを実行するバッチ ファイルを作成して、バッチ ファイルを実行するタスクをスケジュールすることができます。

  1. メモ帳などのテキスト エディターを使用して、イベント ビューアー (Eventvwr.exe) プログラムとシステム モニター (Perfmon.exe) プログラムを開始するために必要な .exe ファイルの名前と完全修飾パスを含むバッチ ファイルを作成します。

    C:\Windows\System32\Eventvwr.exe
    C:\Windows\System32\Perfmon.exe
    
  2. ファイルを MyApps.batとして保存し、 schtasks.exeを開き、次のように入力して、 MyApps.bat を実行するタスクを作成します。

    schtasks /create /tn Monitor /tr C:\MyApps.bat /sc onlogon /ru Reskit\Administrator
    

    このコマンドでは、すべてのユーザーがログオンするたびに実行されるモニターのタスクを作成します。 /tn パラメーターを使用してタスクに名前を付け、/tr パラメーターを使用して MyApps.batを実行し、/sc パラメーターを使用して OnLogon スケジュールの種類を示し、/ru パラメーターを使用してユーザーの管理者アカウントのアクセス許可でタスクを実行します。

    このコマンドの結果としてユーザーが、コンピューターにログオンするたびにすると、タスクはイベント ビューアーとシステム モニターを起動します。

リモート コンピューター上で実行されるタスクをスケジュールするには

リモート コンピューター上で実行するタスクをスケジュールするには、リモート コンピューターのスケジュールをタスクを追加する必要があります。 リモート コンピューターには、あらゆる種類のタスクをスケジュールすることができますが、次の条件を満たす必要があります。

  • タスクをスケジュールするアクセス許可が必要です。 そのため、リモート コンピュータの Administrators グループのメンバーであるアカウントでローカル コンピュータにログオンするか、 /u パラメータを使用してリモート コンピュータの管理者の資格情報を指定する必要があります。

  • /u パラメータは、ローカル コンピュータとリモート コンピュータが同じドメインにある場合、またはローカル コンピュータがリモート コンピュータ ドメインが信頼するドメインにある場合にのみ使用できます。 それ以外の場合、リモート コンピューターは、指定したユーザー アカウントを認証できないし、アカウントが Administrators グループのメンバーであることを確認できません。

  • タスクをリモート コンピューターで実行するための十分なアクセス許可が必要です。 必要なアクセス許可は、タスクによって異なります。 既定では、タスクはローカル コンピューターの現在のユーザーのアクセス許可で実行されますが、 /u パラメーターが使用されている場合は、 /u パラメーターで指定されたアカウントのアクセス許可でタスクが実行されます。 ただし、 /ru パラメーターを使用して、別のユーザー アカウントのアクセス許可またはシステム アクセス許可でタスクを実行できます。

Examples

  • MyApp プログラムを SRV01 リモート コンピュータで (管理者として) 実行するようにスケジュールするには、すぐに 10 日ごとに次のように入力します。

    schtasks /create /s SRV01 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc daily /mo 10
    

    この例では、 /s パラメーターを使用してリモート コンピューターの名前を指定します。 ローカルの現在のユーザーはリモート コンピューターの管理者であるため、タスクをスケジュールするための代替アクセス許可を提供する /u パラメーターは必要ありません。

    Note

    リモート コンピューターでタスクをスケジュールする場合、すべてのパラメーターはリモート コンピューターを参照します。 したがって、 /tr パラメーターで指定されたファイルは、リモート コンピューター上の MyApp.exe のコピーを参照します。

  • MyApp プログラムを (ユーザーとして) SRV06 リモート コンピューターで 3 時間ごとに実行するようにスケジュールするには、次のように入力します。

    schtasks /create /s SRV06 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc hourly /mo 3 /u reskits\admin01 /p R43253@4$ /ru SRV06\user03 /rp MyFav!!Pswd
    

    タスクをスケジュールするには管理者権限が必要なため、コマンドは /u パラメーターと /p パラメーターを使用して、ユーザーの管理者アカウント (Reskits ドメインの Admin01) の資格情報を提供します。 既定では、これらのアクセス許可は、タスクの実行にも使用します。 ただし、タスクを実行するために管理者のアクセス許可は必要ないため、コマンドには既定値をオーバーライドし、リモート コンピューター上のユーザーの管理者以外のアカウントのアクセス許可でタスクを実行するための /u パラメーターと /rp パラメーターが含まれています。

  • 毎月の最終日に SRV02 リモート コンピューターで MyApp プログラムが (ユーザーとして) 実行されるようにスケジュールします。

    schtasks /create /s SRV02 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc monthly /mo LASTDAY /m * /u reskits\admin01
    

    ローカルの現在のユーザー (user03) はリモート コンピューターの管理者ではないため、コマンドは /u パラメーターを使用して、ユーザーの管理者アカウント (Reskits ドメインの Admin01) の資格情報を提供します。 タスクをスケジュールして、タスクを実行する管理者アカウントのアクセス許可が使用されます。

    コマンドには /p (パスワード) パラメーターが含まれていないため、schtasks はパスワードの入力を求めます。 その後、成功メッセージが表示され、この場合は警告が表示されます。

    Type the password for reskits\admin01:********
    
    SUCCESS: The scheduled task MyApp has successfully been created.
    WARNING: The scheduled task MyApp has been created, but may not run because the account information could not be set.
    

    この警告は、リモート・ドメインが /u パラメーターで指定されたアカウントを認証できなかったことを示します。 この場合、ローカル コンピューターは、リモート コンピューターのドメインが信頼するドメインのメンバーでないため、リモート ドメインによってユーザー アカウントを認証できませんでした。 この場合、タスク ジョブはスケジュールされたタスクの一覧に表示されますが、タスクは実際には空であり、実行されません。

    詳細なクエリから次の表示では、タスクの問題を公開します。 画面のことに注意しての値 次回の実行時刻しない の値 ユーザーとして実行タスク スケジューラのデータベースから取得できませんでしたします。

    このコンピューターは、同じドメインまたは信頼されたドメインのメンバーをされていた、タスクがスケジュールされましたし、実行した場合に指定します。

    HostName: SRV44
    TaskName: MyApp
    Next Run Time: Never
    Status:
    Logon mode: Interactive/Background
    Last Run Time: Never
    Last Result: 0
    Creator: user03
    Schedule: At 3:52 PM on day 31 of every month, start
    starting 12/14/2001
    Task To Run: c:\program files\corpapps\myapp.exe
    Start In: myapp.exe
    Comment: N/A
    Scheduled Task State: Disabled
    Scheduled Type: Monthly
    Start Time: 3:52:00 PM
    Start Date: 12/14/2001
    End Date: N/A
    Days: 31
    Months: JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NO
    V,DEC
    Run As User: Could not be retrieved from the task sched
    uler database
    Delete Task If Not Rescheduled: Enabled
    Stop Task If Runs X Hours and X Mins: 72:0
    Repeat: Every: Disabled
    Repeat: Until: Time: Disabled
    Repeat: Until: Duration: Disabled
    Repeat: Stop If Still Running: Disabled
    Idle Time: Disabled
    Power Management: Disabled
    

Remarks

  • 別のユーザーのアクセス許可で /create コマンドを実行するには、 /u パラメーターを使用します。 /u パラメータは、リモート コンピュータ上のタスクのスケジューリングにのみ有効です。

  • schtasks /create の例をさらに表示するには、コマンド プロンプトで schtasks /create /? と入力します。

  • 別のユーザーのアクセス許可で実行されるタスクをスケジュールするには、 /ru パラメーターを使用します。 /ru パラメーターは、ローカル コンピューターとリモート コンピューター上のタスクに有効です。

  • /u パラメーターを使用するには、ローカル コンピューターがリモート コンピューターと同じドメインにあるか、リモート コンピューター ドメインが信頼するドメインにある必要があります。 それ以外の場合、タスクは作成されないか、タスク ジョブが空になるため、タスクが実行されません。

  • Schtasks 指定しない限り、現在のユーザー アカウントを使用してローカル コンピューター上でタスクをスケジュールする際にも、パスワードが常に要求します。 これは、通常の動作の schtasksします。

  • Schtasks では、プログラム ファイルの場所やユーザー アカウントのパスワードは検証されません。 正しいファイルの場所やユーザー アカウントの正しいパスワードを入力しない場合、タスクは作成されますが、実行されません。 また、アカウントのパスワードが変更または期限切れで、タスクに保存されているパスワードを変更しない場合、タスクは実行されません。

  • システム アカウントには対話型ログオン権限がありません。 ユーザーは、システムのアクセス許可で実行されているプログラムを表示したり、それを操作したりすることはできません。

  • 各タスクは、1 つだけのプログラムを実行します。 ただし、複数のタスクを開始するバッチ ファイルを作成して、その後、バッチ ファイルを実行するタスクをスケジュールします。

  • 作成するとすぐにタスクをテストすることができます。 使用して、 実行 タスクをテストし、その SchedLgU.txt ファイルをチェックインする操作 (SystemRoot\SchedLgU.txt) のエラーです。