#navi(../)
* コマンドプロンプトでサービス一覧を表示する・scコマンド [#z2e9caa3]
scコマンドを使用することにより、サービスの一覧を表示することができます。~
以下にscコマンドを使用してサービス一覧を表示する実行例を記します。~
(本資料はWindows7で動作確認を行いました。)

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 関連記事・関連資料 [#pa3f826c]
-[[netコマンドでサービス一覧を表示する・net start>コマンドプロンプト/netコマンドでサービス一覧を表示する・net start]]

* sc query コマンド [#fc5d7b3e]
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コマンドを実行してみる [#c1c00b25]
上記でヘルプ(使用方法)を確認したので、scコマンドでサービス一覧を表示してみます。

** サービス一覧を表示 [#i12cf715]
以下のコマンドでサービス一覧が表示されます。~
(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>
 
**停止中のサービス一覧や動作中のサービス一覧を表示したい [#bd3bcd54]

停止中のサービス一覧や動作中のサービス一覧を表示したい場合は以下のようになります。
-停止中
 sc query state= inactive
-動作中(stateの既定はactiveのため、stateは設定しない)
 sc query

* サービス名のみ取得したい場合 [#e1f4471c]
サービス名のみ取得したい場合は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コマンドについては、以下リンクの記事を参照してください。
-[[正規表現で文字列検索をする・findstr>コマンドプロンプト/正規表現で文字列検索をする・findstr]]

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS