[コマンドプロンプト] scコマンドの使い方 – サービスの確認や設定

scコマンドは、Windowsのサービスを管理するためのコマンドラインツールです。

サービスの確認や設定、開始、停止、削除などが可能です。

基本的な使い方として、sc queryでサービスの状態を確認し、sc startでサービスを開始、sc stopで停止、sc configで設定を変更できます。

特定のサービスに対しては、sc query サービス名で詳細情報を取得し、sc delete サービス名でサービスを削除できます。

この記事でわかること
  • scコマンドの基本的な使い方
  • サービスの確認方法と操作手順
  • サービスの設定変更の具体例
  • 新しいサービスの作成と削除方法
  • トラブルシューティングの手法

目次から探す

scコマンドとは

scコマンドは、Windowsのコマンドプロンプトで使用されるサービス制御コマンドです。

このコマンドを使用することで、Windowsサービスの管理や設定を行うことができます。

サービスとは、バックグラウンドで動作し、特定の機能を提供するプログラムのことです。

scコマンドを使うことで、サービスの状態確認や操作、設定変更が簡単に行えます。

scコマンドの概要

scコマンドは、以下のような機能を持っています。

スクロールできます
機能説明
サービスの確認現在のサービスの状態や詳細情報を表示する
サービスの操作サービスの開始、停止、再起動などを行う
サービスの設定変更スタートアップの種類や依存関係を設定する
サービスの作成新しいサービスを作成する
サービスの削除不要なサービスを削除する

scコマンドの基本的な使い方

scコマンドは、コマンドプロンプトで以下のように使用します。

基本的な構文は次の通りです。

sc [オプション] [サービス名] [パラメータ]

例えば、サービスの状態を確認するには次のように入力します。

sc query [サービス名]

このコマンドを実行すると、指定したサービスの状態や詳細情報が表示されます。

scコマンドが必要な場面

scコマンドは、以下のような場面で特に役立ちます。

  • サーバーやPCのパフォーマンスを最適化するために不要なサービスを停止したいとき
  • 特定のサービスが正常に動作しているか確認したいとき
  • サービスの自動起動設定を変更したいとき
  • 新しいアプリケーションをインストールした際に必要なサービスを設定したいとき

これらの場面でscコマンドを活用することで、Windowsサービスの管理が効率的に行えます。

サービスの確認方法

Windowsのサービスを管理するためには、まずサービスの状態を確認することが重要です。

scコマンドを使用することで、サービスの一覧表示や特定のサービスの状態確認、詳細情報の取得が可能です。

以下にそれぞれの方法を解説します。

サービスの一覧を表示する

すべてのサービスの一覧を表示するには、次のコマンドを使用します。

sc query state= all

このコマンドを実行すると、すべてのサービスの状態が表示されます。

出力結果には、サービス名、表示名、状態(実行中、停止中など)が含まれます。

SERVICE_NAME: wuauserv
        TYPE               : 30  WIN32
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

特定のサービスの状態を確認する

特定のサービスの状態を確認するには、次のようにコマンドを入力します。

sc query [サービス名]

例えば、Windows Updateサービスの状態を確認する場合は、以下のように入力します。

sc query wuauserv

このコマンドを実行すると、指定したサービスの状態が表示されます。

SERVICE_NAME: wuauserv
        TYPE               : 30  WIN32
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

サービスの詳細情報を取得する

サービスの詳細情報を取得するには、次のコマンドを使用します。

sc qc [サービス名]

このコマンドを実行すると、指定したサービスの設定や依存関係、実行ユーザーなどの詳細情報が表示されます。

例えば、Windows Updateサービスの詳細情報を取得する場合は、以下のように入力します。

sc qc wuauserv

出力結果には、サービスの表示名、実行可能ファイルのパス、スタートアップの種類などが含まれます。

[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: wuauserv
        TYPE               : 20  WIN32_SHARE_PROCESS
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\WINDOWS\system32\svchost.exe -k netsvcs -p
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Windows Update
        DEPENDENCIES       : rpcss
        SERVICE_START_NAME : LocalSystem

これらのコマンドを使用することで、サービスの状態や詳細情報を簡単に確認することができます。

サービスの操作方法

scコマンドを使用すると、Windowsサービスの操作が簡単に行えます。

ここでは、サービスの開始、停止、再起動、一時停止・再開の方法について解説します。

サービスを開始する

サービスを開始するには、次のコマンドを使用します。

sc start [サービス名]

例えば、Windows Updateサービスを開始する場合は、以下のように入力します。

sc start wuauserv

このコマンドを実行すると、指定したサービスが開始されます。

成功すると、次のようなメッセージが表示されます。

[SC] StartService SUCCESS

サービスを停止する

サービスを停止するには、次のコマンドを使用します。

sc stop [サービス名]

例えば、Windows Updateサービスを停止する場合は、以下のように入力します。

sc stop wuauserv

このコマンドを実行すると、指定したサービスが停止されます。

成功すると、次のようなメッセージが表示されます。

[SC] StopService SUCCESS

サービスを再起動する

サービスを再起動するには、停止してから再度開始する必要があります。

以下のようにコマンドを入力します。

sc stop [サービス名]
sc start [サービス名]

例えば、Windows Updateサービスを再起動する場合は、次のように入力します。

sc stop wuauserv
sc start wuauserv

この手順を実行すると、サービスが停止し、その後再び開始されます。

サービスを一時停止・再開する

サービスを一時停止するには、次のコマンドを使用します。

sc pause [サービス名]

例えば、Windows Updateサービスを一時停止する場合は、以下のように入力します。

sc pause wuauserv

このコマンドを実行すると、指定したサービスが一時停止されます。

成功すると、次のようなメッセージが表示されます。

[SC] PauseService SUCCESS

一時停止したサービスを再開するには、次のコマンドを使用します。

sc continue [サービス名]

例えば、Windows Updateサービスを再開する場合は、以下のように入力します。

sc continue wuauserv

このコマンドを実行すると、サービスが再開されます。

成功すると、次のようなメッセージが表示されます。

[SC] ContinueService SUCCESS

これらのコマンドを使用することで、サービスの操作が簡単に行えます。

サービスの設定変更

scコマンドを使用すると、Windowsサービスの設定を変更することができます。

ここでは、サービスのスタートアップの種類、依存関係、表示名、実行ユーザーの変更方法について解説します。

サービスのスタートアップの種類を変更する

サービスのスタートアップの種類を変更するには、次のコマンドを使用します。

スタートアップの種類には、AUTO_START(自動)、DEMAND_START(手動)、DISABLED(無効)があります。

sc config [サービス名] start= [スタートアップの種類]

例えば、Windows Updateサービスを自動起動に設定する場合は、以下のように入力します。

sc config wuauserv start= auto

このコマンドを実行すると、指定したサービスのスタートアップの種類が変更されます。

成功すると、次のようなメッセージが表示されます。

[SC] ChangeServiceConfig SUCCESS

サービスの依存関係を設定する

サービスの依存関係を設定するには、次のコマンドを使用します。

依存関係を設定することで、特定のサービスが他のサービスに依存していることを示すことができます。

sc config [サービス名] depend= [依存するサービス名]

例えば、Windows UpdateサービスがBITS(Background Intelligent Transfer Service)に依存している場合は、以下のように入力します。

sc config wuauserv depend= BITS

このコマンドを実行すると、指定したサービスの依存関係が設定されます。

成功すると、次のようなメッセージが表示されます。

[SC] ChangeServiceConfig SUCCESS

サービスの表示名を変更する

サービスの表示名を変更するには、次のコマンドを使用します。

表示名は、サービスがWindowsのサービス管理ツールで表示される名前です。

sc config [サービス名] displayname= "[新しい表示名]"

例えば、Windows Updateサービスの表示名を Windows Update Service に変更する場合は、以下のように入力します。

sc config wuauserv displayname= "Windows Update Service"

このコマンドを実行すると、指定したサービスの表示名が変更されます。

成功すると、次のようなメッセージが表示されます。

[SC] ChangeServiceConfig SUCCESS

サービスの実行ユーザーを変更する

サービスの実行ユーザーを変更するには、次のコマンドを使用します。

実行ユーザーを変更することで、サービスがどのユーザーアカウントで実行されるかを指定できます。

sc config [サービス名] obj= "[ユーザー名]" password= "[パスワード]"

例えば、Windows UpdateサービスをLocalSystemアカウントで実行する場合は、以下のように入力します。

sc config wuauserv obj= "LocalSystem"

このコマンドを実行すると、指定したサービスの実行ユーザーが変更されます。

成功すると、次のようなメッセージが表示されます。

[SC] ChangeServiceConfig SUCCESS

これらのコマンドを使用することで、サービスの設定を柔軟に変更することができます。

サービスの作成と削除

scコマンドを使用すると、新しいサービスを作成したり、不要なサービスを削除したりすることができます。

ここでは、サービスの作成方法、削除方法、作成時に指定できるオプションについて解説します。

新しいサービスを作成する

新しいサービスを作成するには、次のコマンドを使用します。

sc create [サービス名] binPath= "[実行ファイルのパス]"

例えば、MyServiceという名前のサービスをC:\MyService\MyService.exeという実行ファイルで作成する場合は、以下のように入力します。

sc create MyService binPath= "C:\MyService\MyService.exe"

このコマンドを実行すると、指定した実行ファイルを持つ新しいサービスが作成されます。

成功すると、次のようなメッセージが表示されます。

[SC] CreateService SUCCESS

サービスを削除する

不要なサービスを削除するには、次のコマンドを使用します。

sc delete [サービス名]

例えば、MyServiceというサービスを削除する場合は、以下のように入力します。

sc delete MyService

このコマンドを実行すると、指定したサービスが削除されます。

成功すると、次のようなメッセージが表示されます。

[SC] DeleteService SUCCESS

サービスの作成時に指定できるオプション

サービスを作成する際には、いくつかのオプションを指定することができます。

以下は、主なオプションの一覧です。

スクロールできます
オプション説明
binPath=サービスの実行ファイルのパス
start=サービスのスタートアップの種類(auto, demand, disabled)
displayname=サービスの表示名
depend=依存するサービス名
obj=サービスの実行ユーザー
password=実行ユーザーのパスワード

例えば、MyServiceを自動起動に設定し、表示名を My Custom Service とする場合は、以下のように入力します。

sc create MyService binPath= "C:\MyService\MyService.exe" start= auto displayname= "My Custom Service"

これにより、指定した条件で新しいサービスが作成されます。

これらのオプションを活用することで、サービスの設定を柔軟に行うことができます。

scコマンドの応用例

scコマンドは、Windowsサービスの管理において非常に便利なツールです。

ここでは、サービスの自動起動設定、ログオンアカウントの変更、トラブルシューティングにおける活用方法について解説します。

サービスの自動起動を設定する

サービスを自動起動に設定することで、システム起動時に自動的にサービスが開始されるようにできます。

これを行うには、次のコマンドを使用します。

sc config [サービス名] start= auto

例えば、MyServiceというサービスを自動起動に設定する場合は、以下のように入力します。

sc config MyService start= auto

このコマンドを実行すると、指定したサービスが自動起動に設定されます。

成功すると、次のようなメッセージが表示されます。

[SC] ChangeServiceConfig SUCCESS

サービスのログオンアカウントを変更する

サービスのログオンアカウントを変更することで、サービスがどのユーザーアカウントで実行されるかを指定できます。

これを行うには、次のコマンドを使用します。

sc config [サービス名] obj= "[ユーザー名]" password= "[パスワード]"

例えば、MyServiceLocalSystemアカウントで実行する場合は、以下のように入力します。

sc config MyService obj= "LocalSystem"

このコマンドを実行すると、指定したサービスのログオンアカウントが変更されます。

成功すると、次のようなメッセージが表示されます。

[SC] ChangeServiceConfig SUCCESS

サービスのトラブルシューティングにscコマンドを活用する

scコマンドは、サービスのトラブルシューティングにも役立ちます。

サービスが正常に動作していない場合、以下のようなコマンドを使用して問題を特定できます。

  1. サービスの状態を確認する
sc query [サービス名]

これにより、サービスが実行中か停止中かを確認できます。

  1. サービスの詳細情報を取得する
sc qc [サービス名]

このコマンドを使用して、サービスの設定や依存関係を確認できます。

  1. サービスのログを確認する

Windowsのイベントビューアを使用して、サービスに関連するエラーログを確認することも重要です。

これにより、サービスが正常に動作しない原因を特定できます。

これらの方法を活用することで、サービスのトラブルシューティングが効率的に行えます。

scコマンドを使いこなすことで、Windowsサービスの管理がよりスムーズになります。

よくある質問

scコマンドでサービスが見つからない場合は?

scコマンドで指定したサービスが見つからない場合、以下の点を確認してください。

  • サービス名の確認: サービス名は正確に入力されていますか?サービス名は大文字小文字を区別しないものの、正確な名前を使用する必要があります。
  • サービスの存在確認: sc query state= allコマンドを使用して、サービスが実際に存在するか確認してください。
  • 権限の確認: コマンドプロンプトを管理者として実行していますか?権限が不足していると、サービスにアクセスできない場合があります。

サービスの開始に失敗した場合の対処法は?

サービスの開始に失敗した場合、以下の手順を試してみてください。

  1. エラーメッセージの確認: sc start [サービス名]を実行した際に表示されるエラーメッセージを確認し、具体的な原因を特定します。
  2. 依存関係の確認: サービスが依存している他のサービスが正常に動作しているか確認してください。

依存サービスが停止していると、開始できないことがあります。

  1. ログの確認: Windowsのイベントビューアを使用して、サービスに関連するエラーログを確認します。

これにより、問題の詳細がわかることがあります。

  1. 設定の確認: サービスの設定(スタートアップの種類や実行ユーザーなど)が正しいか確認します。

設定ミスが原因で開始できないことがあります。

scコマンドでサービスを削除したが、再起動後に復活するのはなぜ?

サービスを削除したにもかかわらず、再起動後に復活する場合、以下の理由が考えられます。

  • 自動再インストール: 一部のアプリケーションやドライバは、再起動時に自動的にサービスを再インストールすることがあります。

特に、セキュリティソフトやシステム管理ツールがこれに該当します。

  • グループポリシー: グループポリシーや管理者によって設定されたポリシーが、サービスを再作成することがあります。

これにより、削除したサービスが再び作成されることがあります。

  • システムの復元: システムの復元ポイントが作成されている場合、復元によってサービスが元に戻ることがあります。

このような場合は、サービスを削除したアプリケーションや設定を確認し、必要に応じてそのアプリケーションをアンインストールするか、設定を変更する必要があります。

まとめ

この記事では、Windowsのコマンドプロンプトにおけるscコマンドの使い方について詳しく解説しました。

サービスの確認、操作、設定変更、作成と削除、さらには応用例に至るまで、幅広い内容をカバーしています。

これを機に、scコマンドを活用して、Windowsサービスの管理をより効率的に行ってみてください。

  • URLをコピーしました!
目次から探す