サービス コントロール マネージャー (SCM) は、インストールされているサービスとドライバー サービスのデータベースを保持し、それらを制御する統一された安全な手段を提供します。 データベースには、各サービスまたはドライバー サービスを開始する方法に関する情報が含まれています。 また、システム管理者は各サービスのセキュリティ要件をカスタマイズして、サービスへのアクセスを制御することもできます。
適切な背景メカニズムの選択
Windowsには、バックグラウンド作業を実行するためのいくつかのメカニズムが用意されています。 次の表は、シナリオに適したテーブルを選択するのに役立ちます。
| メカニズム | 最適な用途 | Lifecycle | 電源への影響 |
|---|---|---|---|
| Windows サービス (トリガー スタート) | システム イベント (デバイスの到着、ネットワークの変更、ドメイン参加) への応答。 必要な場合にのみ実行されます。 | トリガー時に SCM によって開始または停止されます。 | 低 — トリガーされない場合はアイドル状態。 |
| Windows サービス (自動開始) | 常に使用できる必要がある実行時間の長いデーモン (データベース エンジン、Web サーバー、セキュリティ エージェント)。 | ブートからシャットダウンまで実行されます。 | 中 - 常にリソースを消費します。 |
| タスク スケジューラ (メンテナンス) | 定期的なハウスキーピング (ディスククリーンアップ、ログローテーション、更新チェック)。 | アイドル時かつAC電源接続時に実行されます。 | 最小 — アイドル時まで待機します。 |
| タスク スケジューラ (イベント/タイム トリガー) | スケジュール、ログオン、またはシステム イベントに関連付けられている一発または定期的なジョブ。 | スケジュールごとに作成/削除済み。 | 低 — 短時間実行され、終了します。 |
| バックグラウンド タスク (UWP/WinRT) | リソース クォータが適用されるアプリ固有のバックグラウンド処理 (タイル更新、プッシュ通知、ジオフェンシング) | システム ブローカーによって管理されます。 | 非常に低い — OS によって厳しく制限される。 |
Important
自動開始サービスよりもトリガー開始サービスを優先します。 トリガー開始サービスは、トリガー イベントが発生するまでリソースを消費しません。 これは、モダン スタンバイ デバイスのバッテリ寿命に不可欠です。 詳細については、「 サービス トリガー イベント 」を参照してください。
Tip
ワークロードが定期的に実行され、スケジュールの遅延を許容できる場合は、サービスではなく タスク スケジューラの自動メンテナンス を使用します。 メンテナンス タスクはアイドル + AC 電源に遅延され、ユーザーとバッテリの寿命への影響を最小限に抑えます。
次の種類のプログラムは、SCM によって提供される関数を使用します。
| タイプ | 説明 |
|---|---|
| サービス プログラム | 1 つ以上のサービスの実行可能コードを提供するプログラム。 サービス プログラムは、SCM に接続し、状態情報を SCM に送信する関数を使用します。 |
| サービス構成プログラム | サービス データベースを照会または変更するプログラム。 サービス構成プログラムは、データベースを開く関数、データベース内のサービスのインストールまたは削除、インストール済みサービスの構成パラメーターとセキュリティ パラメーターの照会または変更を行う関数を使用します。 サービス構成プログラムは、サービスとドライバー サービスの両方を管理します。 |
| サービス制御プログラム | サービスとドライバー サービスを開始および制御するプログラム。 サービス制御プログラムは、要求を実行する SCM に要求を送信する関数を使用します。 |
この概要では、次のトピックについて説明します。
- Service Control Manager
- サービス プログラム
- サービス構成プログラム
- サービス制御プログラム
- サービス ユーザー アカウント
- 対話型サービス
- サービスのセキュリティとアクセス権
- サービスのデバッグ
- サービス トリガー イベント