k-likework

LIKEWORKで生きるためのブログ

タスクスケジューラとSCHTASKSコマンド

個人メモ:タスクスケジューラから起動停止しているプロセスをコマンドで実行したいと言われて確認したメモ

タスクスケジューラとは

  • 定期的な作業を効率化することが出来るWindowsのタスク管理機能
  • Windowsの標準機能

f:id:kodomonosora:20190109152202p:plain

タスクスケジューラのタスクを画面から操作

▼タスク登録

f:id:kodomonosora:20190109124555p:plain

その後は、作成ウィザードに沿って登録します。 f:id:kodomonosora:20190109125847p:plain 実行スケジュールを入力 f:id:kodomonosora:20190109125919p:plain タスクの種類を選択 f:id:kodomonosora:20190109125931p:plain 実行スクリプトを登録 f:id:kodomonosora:20190109130005p:plain

# Chromeを起動するスクリプトを入力(スクリプトファイルの登録でも可)
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window

作成完了 f:id:kodomonosora:20190109130159p:plain

ログオンするとすぐにChromeが起動しました!

▼タスク実行

f:id:kodomonosora:20190109154340p:plain

▼タスク終了

f:id:kodomonosora:20190109154702p:plain

タスクスケジューラのタスクをコマンドから操作

同じことをコマンドプロンプトでSCHTASKSコマンドを使ってやってみます。

▼タスク登録

まず、SCHTASKSコマンドの使用方法を確認します。 SCHTASKS /?でヘルプを見ます。

パラメーターの一覧:
    /Create         スケジュール タスクを新しく作成します。
    /Delete         スケジュール タスクを削除します。
    /Query          スケジュール タスクをすべて表示します。
    /Change         スケジュール タスクのプロパティを変更します。
    /Run            スケジュールされているタスクをオン デマンドで実行します。
    /End            現在実行中のスケジュール タスクを停止します。
    /ShowSid        スケジュールされたタスクの名前に対応するセキュリティ ID を表示します。
    /?              このヘルプを表示します。

Examples:
    SCHTASKS
    SCHTASKS /?
    SCHTASKS /Run /?
    SCHTASKS /End /?
    SCHTASKS /Create /?
    SCHTASKS /Delete /?
    SCHTASKS /Query  /?
    SCHTASKS /Change /?
    SCHTASKS /ShowSid /?

それから、SCHTASKS /Create /?でヘルプを見ます。

SCHTASKS /Create [/S システム [/U ユーザー名 [/P [パスワード]]]]
    [/RU ユーザー名 [/RP パスワード]] /SC スケジュール [/MO 修飾子] [/D 日]
    [/M 月] [/I アイドル時間] /TN タスク名 /TR 実行タスク [/ST 開始時刻]
    [/RI 間隔] [ {/ET 終了時刻 | /DU 継続時間} [/K] [/XML xml ファイル] [/V1]]
    [/SD 開始日] [/ED 終了日] [/IT | /NP] [/Z] [/F] [/HRESULT] [/?]

作成したいタスク内容はこんな感じかな。早速作成してみる。

C:\Users\Administrator>SCHTASKS /Create /RU WIN-E26VDI0PBGE\Administrator /SC ONLOGON /TN CMD_StartChrome /TR "C:\Windows\System32\startchrome.bat"
成功: スケジュール タスク "CMD_StartChrome" は正しく作成されました。

タスクスケジューラを確認すると作成されていました。 f:id:kodomonosora:20190109152827p:plain

ログオンし直すと、Chromeが起動しました!

気になるのがSCHTASKS /Createコマンドでタスクを作成するとログオン時のユーザが指定できない。 f:id:kodomonosora:20190109153212p:plain

一応、タスクの[プロパティ]-[トリガーの編集]から変更できるようだけどコマンドでできる方法はないのかな? f:id:kodomonosora:20190109153305p:plain

▼タスク実行

C:\Users\Administrator>SCHTASKS /End /TN CMD_StartChrome
成功: スケジュール タスク "CMD_StartChrome" は正しく中断されました。

▼タスク終了

C:\Users\Administrator>SCHTASKS /Run /TN CMD_StartChrome
成功: スケジュール タスク "CMD_StartChrome" の実行が試行されました。

バックアップやPC起動時のアプリ起動などしておくと便利だな。