このエントリーをはてなブックマークに追加


コマンドプロンプトでサービス一覧を表示する・scコマンド

scコマンドを使用することにより、サービスの一覧を表示することができます。
以下にscコマンドを使用してサービス一覧を表示する実行例を記します。
(本資料はWindows7で動作確認を行いました。)


関連記事・関連資料

sc query コマンド

scコマンドを引数なしで実行すると以下の様なメッセージが出力されます。

C:\Users\sakura>sc
説明:
        SC はサービス コントロール マネージャーやサービスと通信するために使用
        するコマンド ライン プログラムです。
使用法:
        sc <サーバー> [コマンド] [サービス名] <オプション1> <オプション2>...


       オプションの <サーバー> は "\\サーバー名" の形式です。
        「sc [コマンド]」と入力すると詳細なヘルプが表示されます。
        コマンド一覧:
          query-----------サービスの状態を照会したりサービスの種類ごと
                          に状態を列挙したりします。
          queryex---------拡張されたサービスの状態を照会したりサービス
                          の種類ごとに状態を列挙したりします。
<snip>

上記の出力を見ると、sc queryでサービス一覧を確認することができることがわかります。
また、以下の出力を見ると、typeとstateを組み合わせることにより、サービス一覧が表示できることがわかります。
サービスのみの表示(ドライバは対象としない)の場合はtypeの既定値はserviceとなっているので、typeは省略します。

QUERY と QUERYEX のオプション:
        クエリ コマンドにサービス名が続く場合、サービスの状態が戻されます。
        この場合、それ以上のオプションは適用されません。クエリ コマンドに
        オプションがない場合やまたは以下に一覧に表示されているオプションが
        続く場合は、サービスが列挙されます。
    type=    列挙するサービスの種類 (driver、service、all)
             (既定 = service)
    state=   列挙するサービスの状態 (inactive、all)
             (既定 = active)
    bufsize= 列挙バッファーのサイズ (バイト)
             (既定 = 4096)
    ri=      列挙の開始を指定するための再開インデックス番号
             (既定 = 0)
    group=   列挙するサービス グループ
             (既定 = all groups)

構文の例
sc query                - アクティブなサービス ドライバーの状態を列挙します
sc query eventlog      - イベントログ サービスの状態を表示します
sc queryex eventlog    - イベントログ サービスの拡張状態を表示します
sc query type= driver   - アクティブなドライバーのみ列挙します
sc query type= service  - Win32 サービスのみ列挙します
sc query state= all     - サービスとドライバーをすべて列挙します
<snip>

sc queryコマンドを実行してみる

上記でヘルプ(使用方法)を確認したので、scコマンドでサービス一覧を表示してみます。

サービス一覧を表示

以下のコマンドでサービス一覧が表示されます。
(state=の後に半角スペースを入れないと動作しませんので注意してください。)

sc query state= all

実際に上記コマンドを実行したときの出力の抜粋です。

C:\Users\sakura>sc query state= all

SERVICE_NAME: AdobeFlashPlayerUpdateSvc
DISPLAY_NAME: Adobe Flash Player Update Service
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

SERVICE_NAME: AeLookupSvc
DISPLAY_NAME: Application Experience
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

SERVICE_NAME: ALG
DISPLAY_NAME: Application Layer Gateway Service
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
<snip>

停止中のサービス一覧や動作中のサービス一覧を表示したい

停止中のサービス一覧や動作中のサービス一覧を表示したい場合は以下のようになります。

  • 停止中
    sc query state= inactive
  • 動作中(stateの既定はactiveのため、stateは設定しない)
    sc query

サービス名のみ取得したい場合

サービス名のみ取得したい場合はfindstrを使用すれば簡単にサービス名だけを取得することができます。
構文

sc query state= all | findstr /B SERVICE_NAME

実際に実行したときの出力です。

C:\Users\sakura>sc query state= all | findstr /B SERVICE_NAME
SERVICE_NAME: AdobeFlashPlayerUpdateSvc
SERVICE_NAME: AeLookupSvc
SERVICE_NAME: ALG
SERVICE_NAME: AppIDSvc
SERVICE_NAME: Appinfo
SERVICE_NAME: AudioEndpointBuilder
SERVICE_NAME: AudioSrv
SERVICE_NAME: AxInstSV
SERVICE_NAME: BDESVC
<snip>

findstrコマンドについては、以下リンクの記事を参照してください。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:49:33