Windowsのシステム管理を行う際に、サービスの制御は欠かせません。その中でも sc start
コマンド は、サービスを手動で開始するために使われる重要なコマンドです。
バッチファイルやスクリプトで自動化を行う際にも役立ち、特定のサービスを起動したり、システムのトラブルシューティングを効率化したりすることができます。
この記事では、sc start
コマンドの 基本的な使い方 から 応用例 までを詳しく解説します。バッチファイルでの活用方法や、サービスが起動しない場合の対処法についても紹介するので、ぜひ最後までご覧ください。
sc start
は、Windowsのサービスを起動するためのコマンドです。
このコマンドを使用することで、 GUI(サービス管理ツール)を開かずにコマンドラインからサービスを開始できる ため、 スクリプトや自動化の場面で便利 です。
batコピーする編集するsc start <サービス名>
<サービス名>
には、起動したいサービスの名前を指定します。まず、管理者権限で コマンドプロンプト(cmd.exe) を開きます。
次に、以下のコマンドを実行すると、指定したサービスが起動します。
batコピーする編集するsc start wuauserv
wuauserv
は Windows Update サービス です。サービス名を確認するには、以下のコマンドを使います。
batコピーする編集するsc query
このコマンドを実行すると、 現在のサービス一覧 が表示されます。
特定のサービスの詳細を知りたい場合は、以下のように sc query
にサービス名を指定します。
batコピーする編集するsc query wuauserv
これにより、 サービスの現在の状態(RUNNING、STOPPED など) や、エラーコードなどの情報を取得できます。
バッチファイル(.bat)を作成することで、複数のサービスを 自動で起動 できます。
以下のようなバッチファイルを作成すれば、複数のサービスを 一括で起動 できます。
batコピーする編集する@echo off
sc start wuauserv
sc start bits
sc start cryptsvc
echo サービスを開始しました。
pause
bits
(バックグラウンド インテリジェント転送サービス)cryptsvc
(暗号化サービス)このバッチファイルをダブルクリックすると、上記の3つのサービスが 順番に起動 されます。
サービスの起動結果を ログファイルに記録 したい場合、以下のように書きます。
batコピーする編集する@echo off
echo %date% %time% - サービス開始 >> C:\log\service_log.txt
sc start wuauserv >> C:\log\service_log.txt
sc start bits >> C:\log\service_log.txt
sc start cryptsvc >> C:\log\service_log.txt
echo サービス開始ログを記録しました。
pause
>> C:\log\service_log.txt
で サービスの開始ログを記録 します。echo %date% %time%
で 日時付きのログ を作成します。sc start
コマンドを実行すると、 管理者権限が必要 な場合があります。
対処法:
起動しようとしたサービスが すでに実行中 の場合、このエラーが表示されます。
対処法:
sc query <サービス名>
で 現在の状態を確認sc stop <サービス名>
で 一旦停止してから起動 するbatコピーする編集するsc stop wuauserv
sc start wuauserv
サービスが 無効化されている 場合、sc start
では起動できません。
対処法:
services.msc
を開き、該当するサービスの スタートアップの種類を「自動」または「手動」に変更 するバッチファイルを スタートアップフォルダ に配置すれば、Windows 起動時に特定のサービスを開始できます。
batコピーする編集するsc start MyCustomService
shell:startup
でスタートアップフォルダを開き、バッチファイルを配置タスクスケジューラを使って、指定した時間にサービスを起動できます。
例えば、朝8時に wuauserv
を起動するには、以下のスケジュールタスクを作成します。
batコピーする編集するschtasks /create /tn "Start_WindowsUpdate" /tr "sc start wuauserv" /sc daily /st 08:00
/tn
(タスク名)/tr
(実行するコマンド)/sc daily
(毎日実行)/st 08:00
(8時に実行)sc start
コマンドを使えば、Windows のサービスを コマンドラインから手軽に起動 できます。
sc start <サービス名>
sc query
で状態を確認特に システム管理者やスクリプトを活用するエンジニア にとっては便利なコマンドなので、ぜひ活用してみてください。