---
title: テクニック.4 - タスクスケジューラの使いこなし
description: テクニカルライター山市良氏による「Windowsの運用管理を快適にする10の裏ワザ・表ワザ」のテクニック.4「タスクスケジューラの使いこなし」を紹介するページです。
---

[山市良どっとこむ | SAY Technologies ](https://www2.say-tech.co.jp/special/ryo-yamaichi)

# [テクニック.4 - タスクスケジューラの使いこなし](https://www2.say-tech.co.jp/special/ryo-yamaichi/tec-004)

 作成者: 山市 良｜2021/10/29 8:00:00

 

　Windows標準のタスク機能を利用すると、さまざまなタイミング、条件に基づいて、管理操作を自動化することができます。タスクは［タスクスケジューラ］（Taskschd.msc）、Schtasks.exeコマンド、およびPowerShellのScheduledTasksモジュールのコマンドレット（Get-Command -module ScheduledTasksで確認可能）を使用して作成および管理できます。ここでは［タスクスケジューラ］（Taskschd.msc）と一部コマンドラインを利用した活用例を紹介します。

 

## ■ 週末に再起動をスケジューリングする

　再起動保留状態の更新プログラムのインストールを完了させるため、サーバーで週末に再起動を実施するというシナリオを考えてみましょう。再起動は毎週必要なわけではなく、必要時にのみ簡単に再起動をスケジューリングすることにします。

　［タスクスケジューラ］（Taskschd.msc）を起動し、次の2つのタスクを作成します。MyScheduledRebootタスクは毎週土曜日の23:59にshutdown.exe /r /t 0コマンドを実行して再起動するタスクです。もう1つのDisableMyScheduledRebootタスクは、システム起動時にMyScheduledRebootタスクの状態を“無効”にセットするタスクです。

 

| **タブ名** | **項目名　** | **設定値** |
| --- | --- | --- |
| 全般 | 名前 | MyScheduledReboot |
|   | セキュリティオプション | ✅ユーザーがログオンしているかどうかにかかわらず実行する ✅最上位の特権で実行する |
| トリガー | タスクの開始 | スケジュールに従う、毎週、土曜日、23:59 |
| 操作 | 操作 | プログラムの開始 |
|   | プログラム/スクリプト | %SystemRoot%¥System32¥shutdown.exe  または C:¥Windows¥System32¥shutdown.exe |
|   | 引数の追加 | /r /t  0 |

 

 

| **タブ名** | **項目名** | **設定値** |
| --- | --- | --- |
| 全般 | 名前 | MyScheduledReboot |
|   | セキュリティオプション | ✅ユーザーがログオンしているかどうかにかかわらず実行する ✅最上位の特権で実行する |
| トリガー | タスクの開始 | スタートアップ時（システム起動時） |
| 操作 | 操作 | プログラムの開始 |
|   | プログラム/スクリプト | %SystemRoot%¥System32¥schtasks.exe または C:¥Windows¥System32¥schtasks.exe |
|   | 引数の追加 | /change  /tn MyScheduledReboot /Disable |

　

　2つのタスクを作成したら、“準備完了”状態になっているMyScheduledTaskタスクを右クリックして［無効］を選択し、タスクを“無効”の状態に切り替えます。または、DisableMyScheduledRebootタスクを手動で一度実行します。

 

画面1　毎週末に再起動を実施するMyScheduledRebootタスクを作成し、“無効”状態にしておく

 

 画面2　システム起動時にMyScheduledRebootタスクの状態を“無効”にセットするためのタスク

 

　2つのタスクをこのように準備しておくことで、週末に再起動が必要な際に簡単かつすばやく再起動をスケジューリングできるようになります。PowerShellのEnable-ScheduledTaskコマンドレットまたはSchtasks.exeコマンドを次のように実行することで、MyScheduledRebootタスクが“準備完了”の状態にセットされます。すると、その週の週末に再起動が自動実行されます。そして、再起動後はDisableMyScheduledRebootタスクによって再びMyScheduledRebootタスクは“無効”の状態に戻ります。  
Enable-ScheduledTask -TaskName MyScheduledReboot   
または    
Schtasks.exe /change /tn  MyScheduledReboot /Enable 

 

## ■PowerShellコマンドのスケジューリング

　タスクの［プログラムの開始］操作にPowerShellコマンドレットのコマンドラインを指定したい場合は、次のように設定します。先ほどのDisableMyScheduledRebootタスクの［プログラムの開始］操作は、この方法で<PowerShellのコマンドライン>の部分にDisable-ScheduledTask -TaskName MyScheduledRebootと指定することで構成することもできます。

 

| **タブ名** | **項目名** | **設定値** |
| --- | --- | --- |
| 操作 | 操作 | プログラムの開始 |
|   | プログラム/スクリプト | %SystemRoot%¥System32¥WindowsPowerShell¥v1.0¥powershell.exe  または C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe |
|   | 引数の追加 | -Command "<PowerShellのコマンドライン>" または -Command "& {<PowerShellのコマンドライン>}" |
|   | 開始 | コマンドラインの実行を開始するカレントディレクトリ、省略すると%SystemRoot%¥System32 |

 

## ■PowerShellスクリプト（.ps1）のスケジューリング

タスクの［プログラムの開始］操作にPowerShellのスクリプト（.ps1）をパラメーター付きで指定したい場合は、次のように設定します。スクリプトの実行ポリシーの現在の設定に関係なく、確実にスクリプトを実行させることが可能です（画面3）。スクリプトのパスには、［開始］に指定した場所からの相対パス（例： .\script.ps1）で記述することもできます。

 

| **タブ名** | **項目名** | **設定値** |
| --- | --- | --- |
| 操作 | 操作 | プログラムの開始 |
|   | プログラム/スクリプト | %SystemRoot%¥System32¥WindowsPowerShell¥v1.0¥powershell.exe  または C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥powershell.exe |
|   | 引数の追加 | -Command "<PowerShellのコマンドライン>" または -Command "& {<PowerShellのコマンドライン>}" |
|   | 開始 | コマンドラインの実行を開始するカレントディレクトリ、省略すると%SystemRoot%¥System32 |

 

 画面3　PowerShellスクリプト（.ps1）をタスクで実行させる場合の設定

 

## ■タスクをコマンドラインから即時実行する

Start-ScheduledTaskまたはSchtasks.exe /RUNコマンドを使用すると、登録済みのタスク（Windowsに組み込みのタスクを含む）を即時に実行できます。  
 Start-ScheduledTask -TaskName MyScheduledReboot  [-TaskPath “<タスクパス>”] 

または 

Schtasks.exe /RUN /I /TN MyScheduledReboot   

注：タスクのプロパティの［条件］タブで［次の間アイドル状態の場合のみタスクを開始する］がチェックされている場合、Start-ScheduledTaskはタスクをすぐに実行せずに、キューに挿入済み（Queued）にします。Schtasks.exe /RUNコマンドに/Iオプションを付けることでこの問題を回避できます。［コンピューターをAC電源で使用している場合のみタスクを開始する］がチェックされている場合も、バッテリ稼働時に同様の影響がありますが、/Iオプションで回避できます。

 

 

 ※本ページは2022年6月22日現在の情報です。

 

## ■ ホワイトペーパーをダウンロードする

こちらのページの続きを含めた、全10テクニックをまとめたホワイトペーパーをご覧いただけます。以下のフォームよりお申込みください。

[完全な記事を表示](https://www2.say-tech.co.jp/special/ryo-yamaichi/tec-004)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "山市 良"
  },
  "dateModified" : "2023-09-28T06:43:26.998Z",
  "datePublished" : "2021-10-29T08:00:00Z",
  "headline" : "テクニック.4 - タスクスケジューラの使いこなし",
  "image" : {
    "@type" : "ImageObject",
    "height" : 406,
    "url" : "https://www2.say-tech.co.jp/hubfs/download-sales/yamaichi/tech-blog/img/004/yamichi_tec004_thumbnail_720x406.png",
    "width" : 720
  },
  "mainEntityOfPage" : "https://www2.say-tech.co.jp/special/ryo-yamaichi/tec-004",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "山市良どっとこむ | SAY Technologies"
  }
}
```