タスクスケジューラの使い方が分からない人でも5分でできるサンプル

Windows全般
スポンサーリンク

簡単そうでハマりやすい(と思う)Windows「タスクスケジューラ」をなるべく簡単に使えるように、サンプルファイルを用意しました。よく使うと思われるシンプルな設定としているので、まずはインポートして、日時や実行プログラムパスを変更するだけで済みます。

はじめに

Windows 標準ツール「タスクスケジューラ」は、決まったタイミングで処理を実行させるなど、便利な自動化ツールです。しかしこのツール、詳細な動作定義ができる反面、初めてだと使い方がよく分からずハマりやすい部分が多いと思うのです。システムエンジニアをやっていた私も、当時よくハマっていました。

このツールの使い方を詳しく解説するWeb記事はたくさんあって、とても参考になります。ですが他方で、最低限の要件さえ実現できれば良く、ツールについて調べる時間を省きたい人も多いのではないでしょうか。

そこで、インポートと最小限の変更だけで使えるサンプルを用意しました。使い方は、下のリンクからファイルをダウンロードし、以降の説明を参考にインポートし、必要な設定を修正すればOKです。

サンプルタスクのダウンロード

下記の条件で、決まった日時にバッチファイルを実行します。インポート用ファイルは以下からダウンロードできます(要ZIP解凍)。

サンプルタスクの条件
  • 毎週月曜日と木曜日の昼12:30に実行
  • 指定日時にバッチファイル「C:¥sample\batch1.bat」を実行(引数なし)
    ※バッチファイル自体はサンプルに同梱していません
  • 実行時にログオン中のWindowsユーザー権限で実行(ログオフ状態では実行しない)
  • 「管理者として実行」はしない(最上位の特権は使用しない)
  • その他の詳細条件
    • 指定日時にスリープ中の場合、スリープを自動解除して実行
    • 電源コンセント接続状態は不問(AC電源/バッテリモードのどちらでも実行)
    • バッチファイルの処理時間が長くかかる場合、12時間で強制停止

タスクのインポート方法

タスクのインポート

まず、タスクスケジューラを起動します(起動方法)。

タスクスケジューラの画面で、右側の操作ウィンドウで「タスクのインポート」をクリックします。(もしくは、メニューの[操作]>[タスクのインポート]でもOK)

ダイアログで、上でダウンロードしたXMLファイルを指定します。(ダウンロードしたZIPファイルは解凍してお使い下さい)

下の画面で、赤枠部分にタスクの名前を分かりやすいように設定します(そのままでもいいですが、名前だけは何故か後で変更できません)。ここで実行日時などを修正してもいいですが、次項で改めて解説しますので、とりあえず「OK」ボタンを押します。

下のように「タスクスケジューラ ライブラリ」という位置に、下のように新しいタスクが追加されれば、タスクのインポートは完了です。なお、タスクが表示されていない場合、メニューの[操作]>[最新の情報に更新]などで、表示を更新して下さい。

「作成者」は気にしないで

サンプルファイルをインポートすると、タスクの「作成者」が「COMPUTER1\user1」などと表示されます。これは変更できませんが、動作に影響はありません。

設定の変更方法

インポートしたタスクの実行日時やプログラムを変更するには、タスクスケジューラの「タスクスケジューラライブラリ」に追加されているタスク(表示されていない場合、前述のとおり画面表示を更新)を右クリックして「プロパティ」を選択します。

以下、変更したい内容ごとに操作方法を紹介します。

実行するバッチ・プログラムを変更する(必須)

実行するバッチやプログラムを変更するには、[操作]タブを表示します。下のように、サンプルの実行プログラムが設定されているので、これをダブルクリックして変更します。※サンプルにバッチ本体は含まれていないため、そのままタスクを実行しても失敗します。

編集画面が開きます。下のように、赤枠部分に実行させたいバッチやプログラムのパスを設定します。「開始(オプション)」は空でも設定できますが、実行するバッチ等があるフォルダのパスを指定しておくことを推奨します(後述)。

「開始(オプション)」欄に注意

実行タイミングを変更する

実行する日付や曜日を変更するには、[トリガー]タブを表示します。下のように、サンプルの実行タイミングが設定されているので、変更する場合はこれをダブルクリックします。

詳細設定画面が開きます。下の例は、毎週○曜日の△時に実行するものですが、最低限赤枠の部分を変更すればOKです。毎日実行させたい場合、日~土曜日すべてにチェックします(あるいは区分を「毎日」に変更)。

他の例として、毎月第1月曜日の10:00に実行する場合は、下のようになります。

「管理者として実行」させる

実行するバッチやプログラムによっては、実行する際に右クリックで「管理者として実行」を選ばないと正しく動作しないものがあります。その場合は、下図のように[全般]タブで「最上位の特権で実行する」のチェックをONにします。

セキュリティのことを全く考えなくてよければ、全てONにしておく方が楽ですが、それはお勧めできません。基本はOFFとして、それで正常に動作できない場合のみONにするが良いでしょう。

ログオフ状態でも実行する(別ユーザーで実行)

Windowsにログオン(サインイン)していない状態でも実行したい場合は、下図の設定が必要です。サーバーとして使用するWindows Serverではこちらの方が一般的でしょう。

設定するには[全般]タブで下図のように操作し、タスクを実行したいユーザーを指定します。最後に「OK」を押したときに、指定ユーザーのパスワードが求められますので、正しく入力します。

実行ユーザーは「SYSTEM」がお勧め

実行するユーザーは、管理者ユーザー(Windows Serverでは「Administrator」など)を選びがちですが、「SYSTEM」(ビルトインアカウント)をお勧めします。理由は、パスワードを設定する必要が無く、ユーザーやパスワードの変更の影響を受けないからです。 「SYSTEM」アカウントを選択するには、「ユーザーまたはグループの選択」画面で下図の通り操作します。

ただし、実行するバッチやプログラムによっては、ユーザー環境の関係で「SYSTEM」アカウントでは正常に動作しない可能性もありますので、事前にテスト実行するなどして検証する必要があります。

テスト実行

タスクが正しく実行されるかを確認するには、下のようにタスクを右クリックして「実行する」を選び、テスト実行してみます。バッチプログラムなどの結果が、期待した通りかを確認します。

スポンサーリンク

補足

タスクスケジューラでWindowsを自動的にシャットダウン・再起動をしたい場合は、以下の記事を参照して下さい。記事はWindows Serverの例ですが、Windows 11/10などでも使えるはずです。

参考サイト

タスクスケジューラの詳しい操作方法や、各設定項目の説明については、以下の@ITの記事が参考になります。

フィードバック

別のサンプルが欲しいときは

よく使うと思われる設定でサンプルタスクを用意しましたが、もし「こういう設定のサンプルが欲しい」というものがあれば、下の「コメントを書き込む」欄から、気軽にリクエストして下さい。

フィードバック

コメント

タイトルとURLをコピーしました