LoginSignup
12
10

More than 5 years have passed since last update.

Windowsのサービスの依存サービスを後から変更する

Last updated at Posted at 2016-08-30

Windows ServerでTomcatサービスの依存サービスをscコマンドで変更したときのメモ。

Tomcatで動かすWebAppがローカルのSQL Serverに接続するアプリだったので、SQL Serverの起動後にTomcatを起動するよう設定したかった。

環境

  • Windows Server 2012 Standard
  • Tomcat 8.5.4 (Windowsインストーラ版)がインストール済 (サービス名はTomcat8)
  • SQL Server 2014 がインストール済(サービス名はMSSQL$DB)

手順

以下手順は管理者権限があるユーザで実施する。

Windows PowerShellを管理者として起動し、cmdを起動する。(サービス変更に使用するscコマンドはPower Shellからは実行できない)

PS C:\> cmd
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\>

現在のTomcatの依存サービスを確認。
依存サービスはDEPENDENCIESの値。以下よりTcpip、Afdが依存サービス。

C:\>sc qc Tomcat8
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: Tomcat8
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\Tomcat 8.5\bin\Tomcat8.exe" //RS//Tomcat8
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Apache Tomcat 8.5 Tomcat8
        DEPENDENCIES       : Tcpip
                           : Afd
        SERVICE_START_NAME : LocalSystem

sc configコマンドで依存サービスを変更する。
依存サービスは depend= で指定する。依存サービスは現在DENENDENCIESに登録されているサービスを含めて、スラッシュ区切りで指定する。
depend= と、指定するサービスの間にはスペースが必要な事に注意。(他のパラメータ指定でも同様)

C:\>sc config Tomcat8 depend= "Tcpip/Afd/MSSQL$DB"
[SC] ChangeServiceConfig SUCCESS

変更後の依存サービスを確認。MSSQL$DBがDEPENDENCIESに追加されている。

C:\>sc qc Tomcat8
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: Tomcat8
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\Tomcat 8.5\bin\Tomcat8.exe" //RS//Tomcat8
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Apache Tomcat 8.5 Tomcat8
        DEPENDENCIES       : Tcpip
                           : Afd
                           : MSSQL$DB
        SERVICE_START_NAME : LocalSystem

参考

sc configコマンドのhelp

C:\>sc config help
説明:
        レジストリおよびサービス データベースのサービス エントリを変更します。
使用法:
        sc <サーバー> config [サービス名] <オプション1> <オプション2>...

オプション:
注意: オプション名には等号が含まれています。
      等号と値の間にはスペースが必要です。
 type= <own|share|interact|kernel|filesys|rec|adapt>
 start= <boot|system|auto|demand|disabled|delayed-auto>
 error= <normal|severe|critical|ignore>
 binPath= <.exe ファイルへの BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <依存関係 (スラッシュ (/) で区切られています)>
 obj= <AccountName|ObjectName>
 DisplayName= <表示名>
 password= <パスワード>
12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10