プロが教える店舗&オフィスのセキュリティ対策術

サービス-スタートアップの種類が「無効」のアプリケーションサービスをReg addコマンドでStartの値を2に変更(バッチファイルにてレジストリの値を書き換え)し、その後、net startコマンドでこのアプリケーションサービスを開始したいのですが、エラーになり開始することができません。
どこか他にレジストリの値を変更しておかないといけないのでしょうか?

どなたかご存じの方いらっしゃいましたらご教授願います。

A 回答 (2件)

サービスの起動・停止等の管理は「サービス コントロール マネージャ(SCM)」が一手に行っており、SCMが内部的に持つサービスデータベースに基づいて行われています。



ですので、レジストリでスタートアップの種類を変更しても、その変更は再起動してSCMがサービスデータベースを再構築するまで反映されません。

また、すぐに反映されるような形でスタートアップの種類を変更するには、SCMを経由してスタートアップの種類を変更するしかありません。

Windows XP/Server 2003には、SCMにコマンドを発行するsc.exeというコマンドがあります。このコマンドを使用して

  sc config [service name] start= auto

を実行すると、[service name]に対応するサービスのスタートアップの種類が「自動」に変わります。そうすることで、直後に

  net start [service name]

を実行してもエラーになりません。

Windows 2000ないしそれ以前をお使いの場合、sc.exeに対応するコマンドがないので、SCMにアクセスするツールを自前で作成する必要があります。(APIのOpenSCManager/OpenService/ChangeServiceConfigあたりを使うことになります。)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
早速試してみます。

お礼日時:2005/11/03 08:35

サービスのスタートアップの種類の変更に本来レジストリをいじる必要はありません。


そもそも、サービスプログラム自体がうまく動かない状況なのではないでしょうか
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!