Windowsのシステム管理を行う際に、サービスの制御は欠かせません。その中でも sc start
コマンド は、サービスを手動で開始するために使われる重要なコマンドです。
バッチファイルやスクリプトで自動化を行う際にも役立ち、特定のサービスを起動したり、システムのトラブルシューティングを効率化したりすることができます。
この記事では、sc start
コマンドの 基本的な使い方 から 応用例 までを詳しく解説します。バッチファイルでの活用方法や、サービスが起動しない場合の対処法についても紹介するので、ぜひ最後までご覧ください。
sc start コマンドとは?
sc start
は、Windowsのサービスを起動するためのコマンドです。
このコマンドを使用することで、 GUI(サービス管理ツール)を開かずにコマンドラインからサービスを開始できる ため、 スクリプトや自動化の場面で便利 です。
コマンドの基本構文
batコピーする編集するsc start <サービス名>
<サービス名>
には、起動したいサービスの名前を指定します。
sc start の基本的な使い方
1. コマンドプロンプトでの実行
まず、管理者権限で コマンドプロンプト(cmd.exe) を開きます。
次に、以下のコマンドを実行すると、指定したサービスが起動します。
batコピーする編集するsc start wuauserv
wuauserv
は Windows Update サービス です。- このコマンドを実行すると、Windows Update のサービスが開始されます。
2. サービスの確認方法
サービス名を確認するには、以下のコマンドを使います。
batコピーする編集するsc query
このコマンドを実行すると、 現在のサービス一覧 が表示されます。
特定のサービスの詳細を知りたい場合は、以下のように sc query
にサービス名を指定します。
batコピーする編集するsc query wuauserv
これにより、 サービスの現在の状態(RUNNING、STOPPED など) や、エラーコードなどの情報を取得できます。
バッチファイルで sc start を活用する方法
バッチファイル(.bat)を作成することで、複数のサービスを 自動で起動 できます。
例1: サービスを起動するバッチスクリプト
以下のようなバッチファイルを作成すれば、複数のサービスを 一括で起動 できます。
batコピーする編集する@echo off
sc start wuauserv
sc start bits
sc start cryptsvc
echo サービスを開始しました。
pause
bits
(バックグラウンド インテリジェント転送サービス)cryptsvc
(暗号化サービス)
このバッチファイルをダブルクリックすると、上記の3つのサービスが 順番に起動 されます。
例2: サービス起動のログを記録するバッチスクリプト
サービスの起動結果を ログファイルに記録 したい場合、以下のように書きます。
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 の実行時に発生する可能性のあるエラーと対処法
1. アクセス拒否エラー (Access is denied)
sc start
コマンドを実行すると、 管理者権限が必要 な場合があります。
対処法:
- 「管理者として実行」 で コマンドプロンプトを開く
- UAC(ユーザーアカウント制御)の設定を確認
2. サービスがすでに開始されている (Service already running)
起動しようとしたサービスが すでに実行中 の場合、このエラーが表示されます。
対処法:
sc query <サービス名>
で 現在の状態を確認- 必要に応じて、
sc stop <サービス名>
で 一旦停止してから起動 する
batコピーする編集するsc stop wuauserv
sc start wuauserv
3. サービスが無効 (The service cannot be started, either because it is disabled or because it has no enabled devices associated with it)
サービスが 無効化されている 場合、sc start
では起動できません。
対処法:
services.msc
を開き、該当するサービスの スタートアップの種類を「自動」または「手動」に変更 する
sc start の応用例
1. システム起動時に自動でサービスを開始する
バッチファイルを スタートアップフォルダ に配置すれば、Windows 起動時に特定のサービスを開始できます。
batコピーする編集するsc start MyCustomService
shell:startup
でスタートアップフォルダを開き、バッチファイルを配置
2. 特定の時間にサービスを開始する
タスクスケジューラを使って、指定した時間にサービスを起動できます。
例えば、朝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
で状態を確認
特に システム管理者やスクリプトを活用するエンジニア にとっては便利なコマンドなので、ぜひ活用してみてください。