この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:5
ページ更新者:atom
更新日時:2026-06-11 07:07:02

タイトル: サービス一覧の確認方法
SEOタイトル: Windows サービス一覧の確認方法(services.msc / コンピューターの管理 / sc / PowerShell / タスクマネージャー)

この記事の要点
  • Windows のサービス一覧は「サービス」管理コンソールから確認するのが基本
  • 最短: Win+Rservices.msc を入力して Enter
  • 「コンピューターの管理」の サービスとアプリケーションからも開ける
  • コマンドラインから: sc query / Get-Service (PowerShell)
  • 状態確認: 状態 (実行中/停止) / スタートアップの種類 (自動/手動/無効) / ログオン
  • 起動・停止・再起動は管理者権限が必要。ダブルクリックでプロパティから操作

Windows のサービスとは

Windows のサービスは、ユーザーがログインしているかどうかに関わらずバックグラウンドで動作する常駐プログラムです。Web サーバー(IIS)、データベース(SQL Server)、印刷スプーラー、Windows Update など、OS や常駐アプリの多くはサービスとして実装されています。

サービスの状態確認やスタートアップ種別の変更を行うには、「サービス」管理コンソールを使うのが標準的です。

方法 1: services.msc を直接実行 (最短)

  1. Win + R でファイル名を指定して実行を開く
  2. services.msc と入力して Enter
  3. サービス管理コンソールが起動

「ファイル名を指定して実行」が無効化されている場合は、スタートメニューから「サービス」と検索しても開けます。

方法 2: コンピューターの管理から

  1. Win + X を押してパワーユーザーメニューを開く
  2. 「コンピューターの管理」をクリック
  3. 左ペインの「サービスとアプリケーション」を展開
  4. 「サービス」をクリック

同じ画面内でイベントログ、ディスク管理、タスクスケジューラなども確認できるので、トラブルシュート時はこちらが便利です。

方法 3: タスクマネージャーから

  1. Ctrl + Shift + Esc でタスクマネージャー起動
  2. 上部の「サービス」タブを開く
  3. サービス名・PID・状態・グループの一覧が見える
  4. 下部の「サービス管理ツールを開く」リンクで services.msc に飛べる

タスクマネージャー版は軽量・素早く確認できますが、詳細プロパティの編集は services.msc 側で行います。

サービス管理コンソールの見方

カラム意味
名前サービスの表示名(人間向け)
説明サービスが提供する機能の説明
状態実行中 / 停止 / 一時停止
スタートアップの種類自動 / 自動 (遅延開始) / 手動 / 無効
ログオンサービス実行時のアカウント (Local System / Network Service など)

スタートアップの種類

種類挙動
自動OS 起動時に自動的に開始
自動 (遅延開始)起動後、少し時間を置いてから開始(OS 起動高速化のため)
手動明示的に開始するか、別サービスからの呼出で起動
無効開始できない(手動でも起動不可)

サービスの起動・停止

  1. 該当サービスを右クリック
  2. 「開始」「停止」「再起動」「一時停止」「続行」から選択
  3. もしくはダブルクリックでプロパティを開き、ボタンで操作

注意: 管理者権限が必要。標準ユーザーアカウントでは灰色になって操作できません。

コマンドラインから確認 (sc コマンド)

:: 全サービス一覧(実行中のみ)
sc query

:: 全サービス一覧(停止中含む)
sc query state= all

:: 特定サービスの詳細
sc query "Spooler"

:: スタートアップ種別を確認
sc qc "Spooler"

:: サービスの開始 / 停止 (管理者権限)
sc start "Spooler"
sc stop "Spooler"

:: スタートアップ種別の変更
sc config "Spooler" start= auto
sc config "Spooler" start= demand
sc config "Spooler" start= disabled

注意: sc コマンドの引数は start= auto のように= の後にスペースが必要(独特の構文)。

PowerShell で確認 (Get-Service)

# 全サービス一覧
Get-Service

# 実行中のみ
Get-Service | Where-Object Status -eq 'Running'

# 名前で絞り込み
Get-Service -Name Spooler
Get-Service -Name "Win*"
Get-Service -DisplayName "*Update*"

# 開始 / 停止 / 再起動 (管理者権限)
Start-Service Spooler
Stop-Service Spooler
Restart-Service Spooler

# スタートアップ種別の変更
Set-Service -Name Spooler -StartupType Automatic
Set-Service -Name Spooler -StartupType Manual
Set-Service -Name Spooler -StartupType Disabled

# 別マシンのサービスを確認
Get-Service -ComputerName Server01

PowerShell のほうがオブジェクトとして扱えるためフィルタや変換が柔軟。スクリプト化前提なら PowerShell 一択。

net コマンド (古いが今でも使える)

:: 実行中のサービス一覧
net start

:: サービスの起動・停止
net start "Print Spooler"
net stop "Print Spooler"

net コマンドは表示名(人間向け名前)を使う点が sc や PowerShell のサービス名(内部名)と異なります。

よくある使いどころ

  • Web サーバー / DB が動いていない: IIS Admin / W3SVC / MSSQLSERVER などの状態確認
  • 印刷できない: Print Spooler (Spooler) の状態を確認・再起動
  • ネット接続不安定: DHCP Client / DNS Client などの状態確認
  • Windows Update が止まる: Windows Update (wuauserv) と Background Intelligent Transfer Service (BITS) を再起動
  • 常駐アプリの自動起動を止めたい: スタートアップ種別を「手動」または「無効」に変更

サービスとプロセスの違いを理解する

Windows のサービスとタスクマネージャーに見える「プロセス」は混同しやすいですが、厳密には別の概念です。プロセスは実行中のプログラムインスタンスそのもので、ユーザーが起動した任意のアプリ(ブラウザ、Office、エディタ)も含まれます。一方、サービスはログオンセッションに依存せず動作する常駐型のプログラムで、OS 起動時から終了時まで動き続けるよう設計されています。

サービスはバックグラウンドで動作するため、ウィンドウを持たず、ユーザーが画面で直接操作することはほぼありません。代わりに、サービス管理コンソールや専用の管理 UI(IIS マネージャー、SQL Server Management Studio など)から制御します。サービスは内部的には services.exe というサービスコントロールマネージャーに管理されており、起動・停止・依存関係の解決もすべてこのマネージャーが受け持ちます。

サービスのスタートアップ種別を選ぶ実践指針

スタートアップ種別を変更するときは、その後の OS 起動への影響をよく理解しておく必要があります。「自動」はOS 起動と同時に開始するため、必須サービスはこれで問題ありません。ただし大量の自動サービスはログイン直後の体感速度を悪化させるため、必要性の薄いものは「自動 (遅延開始)」に切り替えると、ログオン直後のリソースを節約できます。

「手動」はそのサービス自身は起動しませんが、他のサービスから呼び出されたときに起動する設定です。OS の一部機能は必要になった時点でサービスを呼び出す設計になっているため、「手動」を「無効」に変更してしまうと連携先の機能が動かなくなる可能性があります。「無効」は誰が要求しても起動しない強い設定なので、依存関係を完全に把握できているサービスにのみ使うべきです。トラブルを避けたければ、まず「手動」に変更して動作確認し、問題なければそのまま、影響があれば自動に戻す、という段階的な調整がおすすめです。

運用現場でサービス一覧を活用するシーン

システム運用の現場では、サービス一覧を確認する場面は驚くほど多岐にわたります。サーバーのデイリーチェックでは、自動起動のはずのサービスが停止していないかを確認する作業が定常的に行われます。SQL Server、IIS、Print Spooler、Windows Update など、業務に直結するサービスは状態を毎日チェックすることが多く、PowerShell の Get-Service を使った定期スクリプトで自動収集している企業も少なくありません。

監視ツール (Zabbix、Datadog、Nagios など) を導入している場合も、内部的には Windows サービスの状態を取得する API を呼んでいることがあります。これらの監視は最終的にこの「サービス管理」と同じ情報源を見ているため、ローカルで services.msc を開いて手動確認できるという基礎知識は、トラブル発生時の調査効率を大きく左右します。サービス管理コンソールは Windows 運用者にとって、まず最初に手が伸びる基本ツールといえます。

トラブル時の典型コマンド

:: 印刷スプーラーをリセット
net stop spooler
del /Q /F %systemroot%\System32\spool\PRINTERS\*
net start spooler

:: Windows Update のリセット
net stop wuauserv
net stop bits
rd /s /q %systemroot%\SoftwareDistribution
net start bits
net start wuauserv

:: DNS キャッシュのフラッシュ(厳密にはサービス再起動ではないが類似トラブル時)
ipconfig /flushdns

FAQ

Q: 「サービス」が見つからない
A: services.msc で直接起動。スタートメニュー検索で「サービス」と打ってもOK。

Q: サービスが「停止」のまま開始できない
A: 依存サービスが止まっている可能性。プロパティの「依存関係」タブで前提サービスを確認・先に起動。

Q: サービスを誤って無効化してしまった
A: 別の管理者ユーザーまたはセーフモードで services.msc を開き、自動に戻す。重要サービスを無効化すると OS が起動しない場合もあるので注意。

Q: 不要そうなサービスを無効化していい?
A: 用途や依存関係が分からないなら触らない。停止して様子見→問題なければ手動に、というステップ推奨。

Q: リモートマシンのサービスを管理したい
A: services.msc で「別のコンピュータに接続」、または PowerShell の -ComputerName / Invoke-Command 経由で操作。

関連記事