[記事公開日]2025/10/06
⚙️ sc queryコマンドの使い方|Windowsサービスの状態を確認する方法
もくじ
はじめに
Windowsでは多くのサービスがバックグラウンドで動作し、システムやアプリケーションの安定稼働を支えています。サービスが正常に動作していないと、アプリケーションの起動エラーやネットワーク不調、セキュリティ問題などにつながることがあります。
こうした状況で役立つのが「sc query」コマンドです。これは、Windowsのサービス管理ツール「Service Controller(sc.exe)」の一部で、サービスの状態を確認するための強力なコマンドです。この記事では、sc queryコマンドの基本的な使い方からオプション解説、応用的な活用シーンまで詳しく解説します。
🛠 sc queryコマンドとは?
-
役割:指定したサービス、またはすべてのサービスの状態を表示
-
用途:サービスの稼働確認、トラブルシューティング、管理スクリプトへの組み込み
-
特徴:GUIのサービス管理ツール(services.msc)よりも詳細で自動化に適している
📌 基本的な使い方
すべてのサービスの状態を確認
sc query
-
実行中および停止中のサービスが一覧で表示される
特定のサービスを確認
sc query Spooler
-
プリンタスプーラーサービスの状態を表示
サービスの詳細情報を確認
sc queryex Spooler
-
プロセスID(PID)など追加情報も表示
📊 出力例
SERVICE_NAME: Spooler
TYPE : 110 WIN32_OWN_PROCESS (interactive)
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
-
STATE: 4 RUNNING → 実行中
-
STATE: 1 STOPPED → 停止中
-
STATE: 2 START_PENDING → 起動準備中
-
STATE: 3 STOP_PENDING → 停止準備中
🔍 主なオプション
-
sc query: すべてのサービスの状態を一覧表示 -
sc query <サービス名>: 特定サービスの状態を表示 -
sc queryex <サービス名>: PIDやスレッド情報を含む詳細表示 -
sc query type= driver: ドライバサービスの一覧を表示 -
sc query type= service: 通常のサービスのみ表示
📚 活用シーン
プリンタのトラブル調査
-
利用例:印刷できないときに
sc query Spoolerを実行 -
効果:スプーラーサービスが停止していれば再起動で解決可能
ネットワーク不調の診断
-
利用例:
sc query DhcpでDHCPクライアントサービスを確認 -
効果:停止中であればネットワーク接続不良の原因を特定
セキュリティ対策
-
利用例:
sc query WinDefendでWindows Defenderサービスを確認 -
効果:無効化されていればセキュリティリスクを早期発見
システム管理の自動化
-
利用例:バッチファイルで定期的にサービス状態をログ出力
-
効果:システムの安定稼働を監視・記録
⚠️ 注意点
-
管理者権限が必要なサービスもある
-
サービス名は「表示名」ではなく「サービス名」を指定する必要がある(例:
Print SpoolerではなくSpooler) -
状態が「起動中(START_PENDING)」や「停止中(STOP_PENDING)」で長時間変化しない場合はシステム不調の可能性
📊 まとめ表
| コマンド | 用途 | 主な活用シーン |
|---|---|---|
| sc query | 全サービスの一覧表示 | システム全体の確認 |
| sc query サービス名 | 個別サービスの状態表示 | トラブル調査 |
| sc queryex サービス名 | 詳細情報表示 | PID取得・監視 |
| sc query type= driver | ドライバ一覧表示 | ハード関連調査 |
関連記事
-
sc start / sc stopコマンドでサービスを操作する方法
-
tasklistコマンドで実行中のプロセスを確認する方法
-
net start / net stopでサービスを制御する方法
-
systeminfoコマンドでシステム構成を確認する方法
さいごに
「sc query」コマンドは、Windowsサービスの状態を素早く確認できる非常に便利なツールです。特定のサービスが原因で不具合が起きている場合、その状態を把握することでトラブル解決の大きなヒントになります。
GUIのサービス管理ツールと比べても軽量で自動化しやすく、システム管理や監視、トラブルシューティングの必須コマンドといえるでしょう。
