❄︎
Amazonでクリスマスギフトを贈ろう!

Windowsサービスをコマンドで起動・停止、自動起動無効化・有効化する方法

どーも。あいしんくいっと(@ithinkitnet)です。

Windowsクライアントを構築しているとサービスの停止・起動、無効化といった作業が必要になることがあります。

これが1台や2台ならまだしも、100台とかになってくると流石に洒落にならない。
というわけで、Windowsサービスをコマンドで起動・停止、無効化する方法について書いておきたいと思います。

Windowsサービスをコマンドで起動・停止、無効化する方法

Windowsサービスをコマンドで起動・停止、無効化する方法

  • サービス名の確認
  • netコマンドでも可能ですが、scコマンドを使ってみました。
    今回は例としてWindowsAudioサービスである「Audiosrv」の起動・停止、無効化を試しておきます。

    サービス名確認コマンド
    sc query | findstr SERVICE_NAME
    findstrコマンドを使ってサービス名のみ抽出しています。
    コマンド実行例
    >sc query | findstr SERVICE_NAME
    SERVICE_NAME: AdAppMgrSvc
    SERVICE_NAME: AdobeARMservice
    SERVICE_NAME: AGSService
    SERVICE_NAME: AudioEndpointBuilder
    SERVICE_NAME: Audiosrv
    SERVICE_NAME: BFE
    
  • サービスの停止
  • サービス停止コマンド
    sc stop Audiosrv
    コマンド実行例
    >sc stop Audiosrv
    SERVICE_NAME: Audiosrv
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 3  STOP_PENDING
                                    (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x2
            WAIT_HINT          : 0x1388
    
  • サービス起動
  • サービス起動コマンド
    sc start Audiosrv
    コマンド実行例
    >sc start Audiosrv
    SERVICE_NAME: Audiosrv
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 2  START_PENDING
                                    (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x7d0
            PID                : 808
            FLAGS              :
    
  • サービス自動起動無効化
  • サービス自動起動無効化コマンド
    sc config "Audiosrv" start= disabled
    コマンド実行例
    >sc config "Audiosrv" start= disabled
    [SC] ChangeServiceConfig SUCCESS
  • サービス自動起動有効化
  • サービス自動起動有効化コマンド
    sc config "Audiosrv" start= auto
    コマンド実行例
    >sc config "Audiosrv" start= auto
    [SC] ChangeServiceConfig SUCCESS
  • サービス自動起動手動
  • サービス自動起動手動コマンド
    sc config "Audiosrv" start= demand
    コマンド実行例
    >sc config "Audiosrv" start= demand
    [SC] ChangeServiceConfig SUCCESS
  • サービス状態確認
  • サービス状態確認コマンド
    sc query Audiosrv
    コマンド実行例
    >sc query Audiosrv
    SERVICE_NAME: Audiosrv
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 4  RUNNING
                                    (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0

    上でも利用した通り、サービスの起動状態は以下から選択可能です。
    一般的なのは「自動」「手動」「無効」といったところでしょうか。
    サービスの起動を遅らせたいものは「自動(遅延実行)」を使うこともあります。

    サービス起動状態
    1. auto 自動
    2. demand 手動
    3. disabled 無効
    4. delayed-auto 自動(遅延実行)

    一般ユーザだとサービス管理コマンドは利用できませんが、runasコマンドを使えば実行可能です。
    Linuxでいう「sudo」コマンドみたいなもの。

    管理者で実行
    >runas /user:administrator "sc config "Audiosrv" start= demand"
    administrator のパスワードを入力してください:
    sc config Audiosrv start= demand をユーザー "hoge\administrator" として開始しています.........

    ithinkit

    一度に操作するWindows端末が多ければ多いほど、サービス管理もコマンドで出来ると非常に便利です。
    ぜひ、覚えておきましょう!

    以上、あいしんくいっとでした( ..)φメモメモ

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    *

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)