どーも。あいしんくいっと(@ithinkitnet)です。
Windowsクライアントを構築しているとサービスの停止・起動、無効化といった作業が必要になることがあります。
これが1台や2台ならまだしも、100台とかになってくると流石に洒落にならない。
というわけで、Windowsサービスをコマンドで起動・停止、無効化する方法について書いておきたいと思います。
Windowsサービスをコマンドで起動・停止、無効化する方法
Windowsサービスをコマンドで起動・停止、無効化する方法
- サービス名の確認
netコマンドでも可能ですが、scコマンドを使ってみました。
今回は例としてWindowsAudioサービスである「Audiosrv」の起動・停止、無効化を試しておきます。
サービス名確認コマンド
findstrコマンドを使ってサービス名のみ抽出しています。sc query | findstr SERVICE_NAME
コマンド実行例
>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
上でも利用した通り、サービスの起動状態は以下から選択可能です。
一般的なのは「自動」「手動」「無効」といったところでしょうか。
サービスの起動を遅らせたいものは「自動(遅延実行)」を使うこともあります。
サービス起動状態
- auto 自動
- demand 手動
- disabled 無効
- delayed-auto 自動(遅延実行)
一般ユーザだとサービス管理コマンドは利用できませんが、runasコマンドを使えば実行可能です。
Linuxでいう「sudo」コマンドみたいなもの。
管理者で実行
>runas /user:administrator "sc config "Audiosrv" start= demand"
administrator のパスワードを入力してください:
sc config Audiosrv start= demand をユーザー "hoge\administrator" として開始しています.........
ithinkit
一度に操作するWindows端末が多ければ多いほど、サービス管理もコマンドで出来ると非常に便利です。
ぜひ、覚えておきましょう!
ぜひ、覚えておきましょう!
以上、あいしんくいっとでした( ..)φメモメモ
コメントを残す